Lab*_*abo -2 python multithreading multiprocessing python-multithreading python-multiprocessing
我不明白多处理文档(python.org)的这一部分,我引述:
"将陷入僵局的一个例子如下:
from multiprocessing import Process, Queue
def f(q):
q.put('X' * 1000000)
if __name__ == '__main__':
queue = Queue()
p = Process(target=f, args=(queue,))
p.start()
p.join() # this deadlocks
obj = queue.get()
Run Code Online (Sandbox Code Playgroud)
"首先,它为什么会阻塞?更令人惊讶的是,当我在f的定义中使用一些小于1000000的值时,它可以正常工作(它适用于10,100,1000,10000,但不能使用100000).
非常感谢你的帮助 !
| 归档时间: |
|
| 查看次数: |
448 次 |
| 最近记录: |