-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmuti_process.py
More file actions
50 lines (28 loc) · 893 Bytes
/
muti_process.py
File metadata and controls
50 lines (28 loc) · 893 Bytes
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
#!/usr/bin/python
# -*- coding: utf-8 -*-
'a muti_process moduel example'
__author__ = 'lmm'
import os
# print("process %s start .." % os.getpid())
# pid = os.fork()
# if pid == 0:
# print('i am child process %s and my parent is %s' %(os.getpid(),os.getppid()))
# else:
# print('I %s just created a child process %s '%(os.getpid(),pid))
from multiprocessing import Pool
import os,time,random
def long_time_task(name):
print("Run task %s (%s)" % (name,os.getpid()))
start = time.time()
time.sleep(random.random()*10)
end = time.time()
print("Task %s runs %0.2f seconds" % (name,(end-start)))
if __name__ == '__main__':
print("Parent process %s" % (os.getpid()))
p = Pool(10)
for i in range(10):
p.apply_async(long_time_task,args = (i,))
print("Waiting for all subprocess done")
p.close()
p.join()
print("all subprocesses done")