Python多进程第二个进程未启动

1 投票
1 回答
854 浏览
提问于 2025-04-18 14:05

你好,我想在Python中同时运行两个函数。这两个函数分别通过USB读取来自两个不同仪表的数据,它们之间没有相互依赖。我尝试过使用多进程,但第二个仪表始终无法启动。

def readMeter1():
   while True:
       #read Meter1

def readMeter2():
   while True:
       #read Meter2

if __name__ == "__main__":
Process(target = readMeter1()).start()
Process(target = readMeter2()).start()

1 个回答

2

参数 target 必须是可以调用的东西(在你的情况下就是一个函数)。你不需要自己去调用这个函数,start() 会在启动一个新进程后自动调用它:

Process(target=readMeter1).start()  # fork a new process, call readMeter1
Process(target=readMeter2).start()  # fork a new process, call readMeter2

因为你直接调用了 readMeter1,这会在当前进程中启动一个无限循环,导致其他的事情都无法进行。

撰写回答