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


Posted in Python onJanuary 22, 2019

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

# 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

以上这篇python多任务及返回值的处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 遍历列表里面序号和值的方法(三种)
Feb 17 Python
ubuntu16.04制作vim和python3的开发环境
Sep 23 Python
Python3实现的判断环形链表算法示例
Mar 07 Python
django框架CSRF防护原理与用法分析
Jul 22 Python
基于Django框架的权限组件rbac实例讲解
Aug 31 Python
Python数据可视化:饼状图的实例讲解
Dec 07 Python
python 解决print数组/矩阵无法完整输出的问题
Feb 19 Python
opencv 图像礼帽和图像黑帽的实现
Jul 07 Python
详解Python 中的容器 collections
Aug 17 Python
python 爬虫如何实现百度翻译
Nov 16 Python
python代码实现图书管理系统
Nov 30 Python
Python测试框架pytest高阶用法全面详解
Jun 01 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 #Python
python自动发送测试报告邮件功能的实现
Jan 22 #Python
python3去掉string中的标点符号方法
Jan 22 #Python
在Python中将函数作为另一个函数的参数传入并调用的方法
Jan 22 #Python
python3.4爬虫demo
Jan 22 #Python
使用Template格式化Python字符串的方法
Jan 22 #Python
python实现公司年会抽奖程序
Jan 22 #Python
You might like
使PHP自定义函数返回多个值
2006/11/26 PHP
php HandlerSocket的使用
2011/05/02 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
php 二维数组快速排序算法的实现代码
2017/10/17 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
让人期待的2011年度最佳 jQuery 插件分享
2012/03/16 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
2015/12/14 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
非常优秀的JS图片轮播插件Swiper的用法
2017/01/03 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
python中MySQLdb模块用法实例
2014/11/10 Python
python实现数独算法实例
2015/06/09 Python
Python的Django框架中设置日期和字段可选的方法
2015/07/17 Python
python实现内存监控系统
2021/03/07 Python
Python3实现转换Image图片格式
2018/06/21 Python
pyqt5 QlistView列表显示的实现示例
2020/03/24 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
python 常见的排序算法实现汇总
2020/08/21 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
2020/11/28 Python
python实现xml转json文件的示例代码
2020/12/30 Python
html5触摸事件判断滑动方向的实现
2018/06/05 HTML / CSS
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
2013/06/06 HTML / CSS
伦敦一卡通:The London Pass
2018/11/30 全球购物
Pottery Barn阿联酋:购买家具、家居装饰及更多
2019/12/08 全球购物
公司周年庆典致辞
2015/07/30 职场文书
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android
nginx访问报403错误的几种情况详解
2022/07/23 Servers