在我的python代码中,有时某个过程无法启动。以下是我正在使用的代码
def sample(n,m):
t1 = Thread(target=worker, args=(m,))
t1.start()
if n:
mp1 = Process(target=loopforever, args=(n,))
mp1.start()
def worker(m):
while(1):
data = get_somedata_from_Sensor()
print("data print: " + str(data))
sleep(0.1)
def loopforever(n):
print "data"
do_some_job()
问题是,有时loopforever()
不能启动,而worker()
始终可以工作。我没有找到任何与此行为有关的东西。很少有几次它可以像代码那样完美地工作。这种随机行为的原因可能是什么?另外,如果我没有在print("data print: " + str(data))
中打印worker()
,那么loopforever()
总是可以工作。