python线程池如何实现同步
Python mutiprocessing多线程池pool操作示例本文实例讲述了python mutiprocessing多线程池pool操作。分享给大家供大家参考,具体如下:
python — mutiprocessing 多线程 pool
脚本代码:
|
root@ 72132server :~ / python / multiprocess # ls multiprocess_pool.py multprocess.py root@ 72132server :~ / python / multiprocess # cat multiprocess_pool.py #!/usr/bin/python # --*-- coding:utf-8 --*-- import multiprocessing import sys,os,time result = [] #把运行的进程池放入,空的列表 def run(msg): #定义正在处理进程编号数的函数功能 print 'threading number:%s %s' % (msg,os.getpid()) #打印正在处理的进程编号数与对应的系统进程号 time.sleep( 2 ) p = multiprocessing.pool(processes = 25 ) #绑定事例,同时执行25个线程 for i in range ( 100 ): result.append(p.apply_async(run,( '%s' % i,))) #异步传输正在运行的进程数字号码 p.close() #关闭正在运行的25个进程 #p.join() for res in result: #获取运行结果 res.get(timeout = 5 ) root@ 72132server :~ / python / multiprocess # |
运行情况:
1)脚本运行
|
root@ 72132server :~ / python / multiprocess # python multiprocess_pool.py threading number: 0 27912 threading number: 1 27915 threading number: 2 27913 threading number: 3 27916 threading number: 4 27917 threading number: 5 27918 threading number: 6 27919 threading number: 7 27920 threading number: 8 27922 threading number: 9 27923 threading number: 10 27924 threading number: 11 27925 threading number: 12 27926 threading number: 13 27927 threading number: 14 27928 threading number: 15 27914 threading number: 16 27929 threading number: 17 27921 threading number: 18 27930 threading number: 19 27931 threading number: 20 27932 threading number: 21 27934 threading number: 22 27935 threading number: 23 27936 threading number: 24 27933 threading number: 25 27912 threading number: 26 27915 threading number: 27 27917 threading number: 28 27918 threading number: 29 27916 threading number: 30 27913 threading number: 31 27922 threading number: 32 27919 threading number: 33 27920 threading number: 34 27923 threading number: 35 27924 threading number: 36 27925 threading number: 37 27927 threading number: 38 27921 threading number: 39 27930 threading number: 40 27932 threading number: 41 27934 threading number: 42 27935 threading number: 43 27926 threading number: 44 27931 threading number: 45 27928 threading number: 46 27929 threading number: 47 27914 threading number: 48 27933 threading number: 49 27936 threading number: 50 27912 threading number: 51 27915 |
2)进程查看(25个进程同时运行)
|
root@ 72132server :~ / python / multiprocess # ps -ef | grep multi root 27905 23930 0 22 : 39 pts / 3 00 : 00 : 00 grep multi root@ 72132server :~ / python / multiprocess # ps -ef | grep multi root 27911 20609 1 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27912 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27913 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27914 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27915 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27916 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27917 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27918 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27919 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27920 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27921 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27922 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27923 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27924 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27925 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27926 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27927 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27928 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27929 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27930 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27931 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27932 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27933 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27934 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27935 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27936 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27941 23930 0 22 : 39 pts / 3 00 : 00 : 00 grep multi root@ 72132server :~ / python / multiprocess # ps -ef | grep multi root 27911 20609 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27912 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27913 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27914 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27915 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27916 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27917 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27918 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27919 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27920 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27921 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27922 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27923 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27924 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27925 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27926 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27927 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27928 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27929 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27930 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27931 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27932 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27933 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27934 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27935 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27936 27911 0 22 : 39 pts / 1 00 : 00 : 00 python multiprocess_pool.py root 27943 23930 0 22 : 39 pts / 3 00 : 00 : 00 grep multi root@ 72132server :~ / python / multiprocess # |
希望本文所述对大家python程序设计有所帮助。
原文链接:https://blog.csdn.net/xwbk12/article/details/77624248