python multiprocessing卡住的1w种方法

时间:2021-05-03 12:10:27   收藏:0   阅读:0

CUDA not support fork

技术图片 技术图片

os.register_at_fork进行清理锁操作(需要拿到锁,因此一般为库的作者使用,提高库的多进程兼容性)

Fork VS Spawn

技术图片

Spawn的缺点

技术图片

Guess

import sys
import multiprocessing as mp
def test():
	print(id(x)
x = "1"
print(id(x))
if len(sys.argv)> 1:
	mp. Set_method(sys.argv[1])
with mp Pool(2)as p:
	p apply(test)

spawn无法将定义的东西比如上面的x读进去

ForkServer

用于解决spawn启动慢点问题
3.7以上才好用,,,不过用的少有一些平台不支持
技术图片

more problem

PIcklable

技术图片

Troublemakers:queue

技术图片

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!