python 多进程 multiprocesses
来源:互联网 发布:雅思网课推荐 知乎 编辑:程序博客网 时间:2024/05/17 05:14
1. 什么是多进程
进程:是资源分配的最小单元。
2、使用进程池
是的,你没有看错,不是线程池。它可以让你跑满多核CPU,而且使用方法非常简单。
注意要用apply_async,如果落下async,就变成阻塞版本了。
processes=4是最多并发进程数量。
import multiprocessingimport timedef func(msg): for i in xrange(3): print msg time.sleep(1)if __name__ == "__main__": multiprocessing.freeze_support() #windows下要加这条语句 pool = multiprocessing.Pool(processes=4) for i in xrange(10): msg = "hello %d" %(i) pool.apply_async(func, (msg, )) pool.close() pool.join() print "Sub-process(es) done."
3.使用Pool,并需要关注结果
更多的时候,我们不仅需要多进程执行,还需要关注每个进程的执行结果,如下:
import multiprocessingimport timedef func(msg): for i in xrange(3): print msg time.sleep(1) return "done " + msgif __name__ == "__main__": pool = multiprocessing.Pool(processes=4) result = [] for i in xrange(10): msg = "hello %d" %(i) result.append(pool.apply_async(func, (msg, ))) pool.close() pool.join() for res in result: print res.get() print "Sub-process(es) done."
4.使用map()函数
5.使用from functools import partial
6.从一个列表中取出特定元素
a=range(5) #[0, 1, 2, 3, 4]b=range(10) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]#要想得到以列表a中元素为索引的b元素,如b[a[2]]=b[2]=2print [b[item] for item in a] #[0,1,2,3,4]
7.程序
参考:
一行 Python 实现并行化 – 日常多线程操作的新思路(重点)
python threading开启的线程中用multiprocessing再开启多线程出现AttributeError
python 多线程读取同一个文本,怎样解决资源竞争呢?
Python multiprocessing pool.map for multiple arguments(重点)
Python多进程并发(multiprocessing)
[转载]python中multiprocessing.pool函数介绍
python笔记——简易worker multiprocessing.Pool
Python函数式编程——map()、reduce()(重点)
0 0
- python 多进程 multiprocesses
- PYTHON 多进程
- Python多进程
- python多进程编程
- Python 多进程
- python多进程编程
- {python多进程}
- python中的多进程
- Python多进程编程
- Python 多进程交互
- Python 多进程实例
- python 多进程实例
- python fork()多进程
- python多进程处理
- python 多进程
- Python 多进程
- python多进程
- python 多进程
- hdojHPU-ACM大一暑期培训练习题1-1 1001字符串统计
- 自定义Toast
- 冒泡
- VMware网络模式介绍
- Android总结之PopupWindow
- python 多进程 multiprocesses
- C++对C的函数扩展
- socket编程《四》ManualResetEvent详解
- HEALTH_WARN clock skew detected的解决办法
- 深入浅出UML类图(一)
- 汉诺塔非递归算法分析与实现
- Java Web开发【4】模拟浏览器的小小程序
- 两种数据仓库建构理论Bill Inmon vs. Ralph Kimball
- 【LeetCode-Hard-2】【Number of Digit One】【1~N中‘1’出现次数】