python 多进程实例
2015-10-28 06:26
567 查看
import datetime import time import sys import multiprocessing TEST = {} TEST['test1'] = 1 TEST['test2'] = 12 TEST['test3'] = 13 TEST['test4'] = 14 TEST['test5'] = 15 TEST['test6'] = 16 TEST['test7'] = 17 TEST['test8'] = 18 def test_list(test): print(test) time.sleep(10) if __name__== '__main__': ps = [] for test in GGI: p = multiprocessing.Process(target=test_list, args=(test,)) p.start() ps.append(p) for process in ps: process.join() print('ok')
打印每个子进程信息。
if __name__== '__main__': ps = [] for test in GGI: p = multiprocessing.Process(target=test_list, args=(test,)) p.start() ps.append(p) print('ok') print("The number of CPU is:" + str(multiprocessing.cpu_count())) for p in multiprocessing.active_children(): print("child p.name:" + p.name + "\tp.id:" + str(p.pid)) print("END!!!!!!!!!!!!!!!!!") for process in ps: process.join()
使用进程池,控制启用进程数量。
if __name__== '__main__': ps = [] pool = multiprocessing.Pool(processes = 3) for test in TEST: pool.apply_async(test_list, (test, )) print('ok') pool.close() pool.join() print('end')
也可以根据CUP核数,启用进程数量。
if __name__== '__main__': ps = [] cpu_count = multiprocessing.cpu_count() pool = multiprocessing.Pool(processes = cpu_count) for test in TEST: pool.apply_async(test_list, (test, )) print('ok') pool.close() pool.join() print('end')
相关文章推荐
- python 如何设置加载其他目录脚本文件
- python 导入模块中的命令
- python 导入模块中的命令并且将命令更名
- python 如何判断调用系统命令是否执行成功
- python中单引,双引,三引号的区别
- python 如何在输出字段中调用变量
- python 中while 使用else实现双分支循环判断
- python 文件处理模块的使用,如何读取文件中数据
- python 如何查看一个变量值中有多少个字符
- python 文件处理模块的使用,给一个文件写入数据
- python 文件处理模块使用,对一个文件追加写入
- python 造数
- python print如何不换行输出
- python 输出正方形
- python 如何加密自己的脚本
- python交互读入
- python程序中在线文档编辑
- Python中几个input方法
- python自动补全
- python mysql