【发布时间】:2020-06-18 14:30:58
【问题描述】:
import time
from multiprocessing import Pool, RawArray, sharedctypes
from ctypes import c_int
def init_worker(X):
print(f"{X}")
def worker_func(i):
print(f"{X}")
time.sleep(i) # Some heavy computations
return
# We need this check for Windows to prevent infinitely spawning new child
# processes.
if __name__ == '__main__':
X =sharedctypes.RawValue(c_int)
X=3
with Pool(processes=4, initializer=init_worker, initargs=(X)) as pool:
pool.map(worker_func, [1,2,3,4])
print(X)
--- 我只是想在每个子进程中打印 X 的值。这是一个玩具程序,用于检查我是否可以共享一个值 并使用多个进程对其进行更新。
【问题讨论】:
标签: python-multiprocessing pool spawning