一个进程的Python睡眠进入无限期睡眠

时间:2016-03-04 20:38:19

标签: python macos

我有一个python进程,它在后台生成多个其他进程。我希望我可以做多线程但我的代码使用的底层库在多线程环境中是不可靠的。

我的后台python进程需要等待近一个小时的事件。检查是否发生该事件的唯一方法是使用轮询方法。

所以,我有一个代码,它睡了一分钟(time.sleep(60))并醒来并做了一些工作。调查一些事情然后去睡觉。

然而,我经历了多次一个/多个线程进入深度睡眠状态并且从未出现过。可能是什么原因?有一个更好的方法吗。 (我不等IO)

 while True:
    if event:
      #do lot of stuff
      break
    else:
      #do some stuff
    time.sleep(60)

(平台是OSX)

由于

1 个答案:

答案 0 :(得分:0)

你似乎有一个无限循环。
while TRUE始终为TRUE,因此它会保留在该循环中。
仅当if eventTRUE时才会有break

代码中的问题似乎是if event始终是FALSE,它永远不会是TRUE。所以你留在你的while循环中。