我正在使用 python 3.6.7 和 Ubuntu 18.04
运行以下脚本后,每个进程都有自己的共享锁:
from multiprocessing import Process, Manager
def foo(l1):
with l1:
print('lol')
if __name__ == '__main__':
processes = []
with Manager() as manager:
for cluster in range(10):
lock1 = manager.Lock()
calc_args = (lock1, )
processes.append(Process(target=foo,
args=calc_args))
for p in processes:
p.start()
for p in processes:
p.join()
Run Code Online (Sandbox Code Playgroud)
我有一个奇怪的例外:
Process Process-2:
Traceback (most recent call last):
File "/usr/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/lib/python3.6/multiprocessing/process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "temp.py", line 5, in foo …Run Code Online (Sandbox Code Playgroud)