python multiprocessing卡住的1w种方法

2021/4/30 22:28:37

本文主要是介绍python multiprocessing卡住的1w种方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • CUDA not support fork
  • Fork VS Spawn
    • Spawn的缺点
    • Guess
    • ForkServer
  • more problem
    • PIcklable
    • Troublemakers:queue

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以上才好用,,,不过用的少有一些平台不支持
image

more problem

PIcklable

image

Troublemakers:queue

image



这篇关于python multiprocessing卡住的1w种方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程