我需要你的灯。很长一段时间以来,我一直在为异步多处理寻找合适的解决方案。我遇到了许多使用不同技术的主题,如芹菜、多处理、concurrent.future、异步。读了几遍之后,我碰巧在尝试并发。我想创建几个机器人,并让他们与主程序沟通。下面是一个代码的想法
import random import time
from multiprocessing import Process, Queue
from robotic import Robot
def robots(name,force,lifepoints):
life = lifepoints
robot = Robot(name,force)
point = int()
result = int()
while life is True:
result = robot.force(point)
time.sleep(2)
robot = Process(target=robots, args=('bot1',1,100))
robot2 = Process(target=robots, args=('bot2',1,100))
combat = True
while combat is True:
print(robot.get(result))
robot.put(point=2)我希望能够运行两个无限循环,创建一个具有这些参数的机器人,然后能够从外部访问,这是进程变量,并且有能力更改它们的数据。我不知道该怎么做,谢谢。
发布于 2018-06-20 00:35:38
您正在正确启动2个进程,但与线程不同,进程使用不同的内存空间,将它们视为两个单独运行的程序。因此,为了使它们连接起来,您需要使用multiprocessing.Queue()进行进程间消息传递。
https://stackoverflow.com/questions/50938545
复制相似问题