本文實例講述了python mutiprocessing多線程池pool操作。分享給大家供大家參考,具體如下:
python — mutiprocessing 多線程 pool
腳本代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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): #定義正在處理進程編號數(shù)的函數(shù)功能 print 'threading number:%s %s' % (msg,os.getpid()) #打印正在處理的進程編號數(shù)與對應的系統(tǒng)進程號 time.sleep( 2 ) p = multiprocessing.pool(processes = 25 ) #綁定事例,同時執(zhí)行25個線程 for i in range ( 100 ): result.append(p.apply_async(run,( '%s' % i,))) #異步傳輸正在運行的進程數(shù)字號碼 p.close() #關(guān)閉正在運行的25個進程 #p.join() for res in result: #獲取運行結(jié)果 res.get(timeout = 5 ) root@ 72132server :~ / python / multiprocess # |
運行情況:
1)腳本運行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
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個進程同時運行)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
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