python多任务及返回值处理
来源:互联网 发布:bat的程序员什么水平 编辑:程序博客网 时间:2024/06/06 02:44
废话不多说,直接上代码!
# coding:utf-8from multiprocessing import Poolimport timedef 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_listif __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-8from multiprocessing import Poolimport timedef 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_listif __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
阅读全文
0 0
- python多任务及返回值处理
- C++调用 python 函数及返回值的处理【元组,字符串...】
- Python多进程任务处理之multiprocessing
- com 返回值检验及异常处理
- python多返回值
- python 可以处理的任务
- Android返回键处理、任务和home键处理
- 数据窗口返回不止一个值的处理及源代码
- 执行器实现返回多个任务并处理第一个结果
- java 如何运行多个任务并处理返回第一个结果
- c# 从任务返回值
- python学习——函数返回值及递归
- 多任务处理:多线程
- 多任务处理
- 后台多任务处理
- task多任务处理
- Java多线程之线程池submit任务及get返回值流程详解
- Python来完成简单图像处理任务
- 获取手机型号
- Codeforces 314B
- Spring Boot + Mybatis + Redis二级缓存
- 哪种流程图适合画充电流程
- jmeter之正则表达式提取器
- python多任务及返回值处理
- SparkMLlib Java 决策树分类算法(DecisionTree)
- JS事件处理程序的3中方式
- 机器学习实战之knn算法pandas实现
- 浅谈java中的static关键字作用
- scala equals == != eq ne
- android SeekBar thumb显示不全的原因
- 【bzoj1654】[Usaco2006 Jan]The Cow Prom 奶牛舞会
- 如何使用dos命令关闭正在运行程序