您的位置:首页 > 房产 > 家装 > 网站技术策划_个人域名备案风险_新闻今日头条最新消息_19

网站技术策划_个人域名备案风险_新闻今日头条最新消息_19

2025/2/23 10:42:49 来源:https://blog.csdn.net/weixin_46770425/article/details/144238303  浏览:    关键词:网站技术策划_个人域名备案风险_新闻今日头条最新消息_19
网站技术策划_个人域名备案风险_新闻今日头条最新消息_19

multiprocessing.Queue` 通常只能在主模块(即 `if __name__ == "__main__":` 块)中创建和使用。这是因为 `multiprocessing` 模块在 Windows 系统上需要通过 `if __name__ == "__main__":` 块来避免递归导入问题。

from multiprocessing import Queue, Processdef work(queue):queue.put("我已发送消息到主进程")if __name__ == "__main__":# 实例化一个消息通道queue = Queue()# 实例化一个进程process = Process(target=work, args=(queue,))# 启动子进程process.start()print("主进程等待消息")msg = queue.get()print("主进程收到消息:", msg)process.join()print("主进程结束")

当然 你也可以双向通信

from multiprocessing import Queue, Processdef work(input_queue, output_queue):input_queue.put("我已发送消息到主进程")msg = output_queue.get()print("主进程发送消息已收到", msg)if __name__ == "__main__":# 实例化一个消息通道input_queue = Queue()output_queue = Queue()# 实例化一个进程process = Process(target=work, args=(input_queue, output_queue))# 启动子进程process.start()print("主进程等待消息")msg = input_queue.get()print("主进程收到消息:", msg)output_queue.put("这里是主进程发送消息")process.join()print("主进程结束")

还可持续通信

from multiprocessing import Queue, Processdef work(input_queue, output_queue):while 1:msg = output_queue.get()print("主进程发送消息已收到", msg)if msg == 2:input_queue.put("关闭")breakelse:input_queue.put("子进程已收到消息")if __name__ == "__main__":# 实例化一个消息通道input_queue = Queue()output_queue = Queue()# 实例化一个进程process = Process(target=work, args=(input_queue, output_queue))# 启动子进程process.start()print("主进程等待消息")while 1:try:msg = input_queue.get(timeout=1)except:msg = "666"if msg != "关闭":if msg != "666":print("主进程收到消息:", msg)input_msg = int(input("输入数值2退出"))output_queue.put(input_msg)else:print("进程结束")breakprocess.join()print("主进程结束")

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com