多进程
多进程 Multiprocessing 和多线程 threading 类似,用来弥补 threading 的一些劣势(例如GIL), Python 出了一个 multiprocessing
多进程与多线程
使用方法几乎一致1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17import multiprocessing
import threading
def job_t(a,d):
print('tttt')
def job_p(a,d):
print('pppp')
t1 = threading.Thread(target=job_t,args=(1,2))
p1 = multiprocessing.Process(target=job_p,args=(1,2))
t1.start()
p1.start()
t1.join()
p1.join()
进程结果 Queue()
1 | import multiprocessing as mp |
效率对比
1 | import time |
打印结果1
2
3
4
5
6('normal:', 499999666667166666000000L)
('cost time :', 0.8630490303039551)
('multithread:', 499999666667166666000000L)
('cost time :', 1.8854999542236328)
('multicore:', 499999666667166666000000L)
('cost time :', 0.47038793563842773)
耗时 多进程 < 普通 < 多线程 。
多线程不适合计算密集型