python 多进程、多线程简单使用

python 中可以使用 multiprocessing (多进程) 和 multiprocessing.dummy(多线程) 来实现并发操作。
两者在使用方式上一样,只不过实现并发的方式不同。

以下简单使用案例以 multiprocessing.dummy 多线程为例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

from multiprocessing.dummy import Pool

def compute(param):
return param*100

params = [ _ for _ in range(10) ]

pool = Pool()

results = pool.map(compute, params)

pool.close()

pool.join()

print(results)

注意:多进程(multiprocessing) 无法在 celery 等后台进程中使用,因为 celery 等后台进程不再允许生成子进程,这时候就只能使用多线程或者协程了。

1
daemonic processes are not allowed to have children
0%