001_python多进程实例
Posted arun_python
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了001_python多进程实例相关的知识,希望对你有一定的参考价值。
一、工作中需要执行zk数据对比,需要按照机器进行并发,举例以下的例子
# coding:utf8 # !/usr/bin/python import time from multiprocessing import Pool def test(i): ‘‘‘ 执行这个程序的时候ps -ef|grep xxx.py可以看到启动了11个进程(1个父进程和10个子进程),这里的sleep(3)秒,会每3秒同时输出10个数字 :param i: :return: ‘‘‘ print i time.sleep(3) if __name__ == "__main__": pool = Pool(processes=10) for i in xrange(500): ‘‘‘ For循环中执行步骤: (1)循环遍历,将500个子进程添加到进程池(相对父进程会阻塞) (2)每次执行10个子进程,等一个子进程执行完后,立马启动新的子进程。(相对父进程不阻塞) apply_async为异步进程池写法。 异步指的是启动子进程的过程,与父进程本身的执行(print)是异步的,而For循环中往进程池添加子进程的过程,与父进程本身的执行却是同步的。 ‘‘‘ pool.apply_async(test, args=(i,)) # 维持执行的进程总数为10,当一个进程执行完后启动一个新进程. print "=================" pool.close() pool.join()
输出=>可以看到会10个一批的输出
0 1 2 3 4 5 6 7 8 9 ================= 10 11 12 13 14 15 16 17 18 19 ....................
以上是关于001_python多进程实例的主要内容,如果未能解决你的问题,请参考以下文章
python 复习—并发编程实战——线程多进程多协程加速程序运行实例(多线程和多进程的对比)
Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段