python - Python 和多处理
问题描述
import multiprocessing
def main(a):
while True:
print(a)
p = multiprocessing.process(target=main(1))
p0 = multiprocessing.process(target=main(2))
p.start()
p0.start()
如果您运行代码,它只会打印:
1
1
1
1
1
1
1
1
它实际上应该输出这样的东西
1
2
1
1
2
2
2
1
2
1
2
我该如何解决这个问题:我从今天早上开始就在做研究。请发送帮助。
解决方案
这符合您的要求吗?
from multiprocessing import Process
def fun(a):
while True:
print(a)
if __name__ == '__main__':
p = Process(target=fun, args=(1,)) # that's how you should pass arguments
p.start()
p1 = Process(target=fun, args=(2,))
p1.start()
输出:
1
2
1
2
2
2
2
2
2
1
推荐阅读
- survival - survfitms 对象的问题
- azure - 与 v11 相比,使用 v12 将文件上传到 Azure Blob Storage SDK 的 ASP.NET Core 使用更高的内存
- javascript - 将状态更新为对象数组
- c# - 如何测试一个对象与另一个 Unity 的距离
- dns - C# 中的 nslookup 等价物是什么?
- graphql - 空手道框架graphql独立错误
- spring-boot - Spring Webflux:如何创建用于部署的 Tomcat WAR?
- cloud - 使用 Headless CMS + Gatsby 开发的电子商务网站的 VPS 与云托管
- .net - 我的 dotnet 3.1 工具如何在没有 deps.json 或 runtimeconfig.json 的情况下发布工作构建
- android - 使用 SFMC 时无法取消通知