python多任务及返回值的处理方法

作者:零落_World 时间:2023-11-02 14:20:24 

废话不多说,直接上代码!


# coding:utf-8
from multiprocessing import Pool
import time

def keywords(title, content, top_n=5):
print u'关键词提取...'
print title, content, top_n
time.sleep(3)
return 0, [u"晴", u"多云"]

def category(title, content):
print u'文本分类...'
print title, content
time.sleep(5)
return 1, [u"天气"]

def run(title, content):
keywords_list = []
category_list = []
pool = Pool(processes=2)
q = []
q.append(pool.apply_async(keywords, args=(title, content, 5)))
q.append(pool.apply_async(category, args=(title, content)))
for item in q:
 r = item.get()
 if r[0] == 0:
  keywords_list = r[1]
 elif r[0] == 1:
  category_list = r[1]
pool.close()
pool.join()

return category_list, keywords_list

if __name__ == "__main__":
title = u"天气预报"
content = u"北京今日天气:晴转多云"
t1 = time.time()
category_list, keywords_list = run(title, content)
print "分类结果:", " ".join(category_list)
print "关键词提取结果", " ".join(keywords_list)
print time.time() - t1

或者:


# coding:utf-8
from multiprocessing import Pool
import time

def keywords(title, content, top_n=5):
print u'关键词提取...'
print title, content, top_n
time.sleep(3)
return 0, [u"晴", u"多云"]

def category(title, content):
print u'文本分类...'
print title, content
time.sleep(5)
return 1, [u"天气"]

def run(title, content):
keywords_list = []
category_list = []
pool = Pool(processes=2)
q = []
q.append(pool.apply_async(keywords, args=(title, content, 5)))
keywords_list = [w["word"] for w in q[0].get()[1]]
category_list = category(title, content)[1]
pool.close()
pool.join()

return category_list, keywords_list

if __name__ == "__main__":
title = u"天气预报"
content = u"北京今日天气:晴转多云"
t1 = time.time()
category_list, keywords_list = run(title, content)
print "分类结果:", " ".join(category_list)
print "关键词提取结果", " ".join(keywords_list)
print time.time() - t1

来源:https://blog.csdn.net/cdj0311/article/details/74640585

标签:python,多任务,返回值
0
投稿

猜你喜欢

  • python实现远程通过网络邮件控制计算机重启或关机

    2022-04-16 01:05:27
  • Django基础三之视图函数的使用方法

    2022-12-14 07:23:41
  • JDBC连接mysql处理中文时乱码解决办法详解

    2024-01-17 21:35:35
  • Python redis操作实例分析【连接、管道、发布和订阅等】

    2022-07-18 17:56:40
  • JS中把函数作为另一函数的参数传递方法(总结)

    2024-05-05 09:14:39
  • Python实现微信消息防撤回功能的实例代码

    2023-10-05 14:20:51
  • shp2sqlserver 用法简析

    2024-01-17 10:37:23
  • Python和php通信乱码问题解决方法

    2023-03-04 14:50:43
  • sql server如何得到插入一条记录后最新的ID?

    2009-11-15 20:06:00
  • wxPython色环电阻计算器

    2023-12-21 20:08:54
  • keras获得model中某一层的某一个Tensor的输出维度教程

    2023-12-15 11:28:54
  • expdp 中ORA-39002、ORA-39070错误详解及解决办法

    2024-01-19 16:37:47
  • 收藏整理的一些Python常用方法和技巧

    2023-01-04 10:42:38
  • JS实战篇之收缩菜单表单布局

    2024-04-18 09:47:43
  • Python autoescape标签用法解析

    2023-03-14 06:36:22
  • asp如何最准确地统计在线用户数?

    2010-07-11 21:12:00
  • 浅谈Python批处理文件夹中的txt文件

    2023-03-17 22:58:28
  • MySQL如何为表和字段取别名详解

    2024-01-14 11:35:02
  • Python实现敏感词过滤的4种方法

    2021-10-01 06:21:08
  • 简单的命令查看安装的python版本号

    2022-03-12 17:23:06
  • asp之家 网络编程 m.aspxhome.com