簡體   English   中英

進程的Python睡眠進入不確定的睡眠狀態

[英]Python sleep for a process goes into indefinite sleep

我有一個python進程,在后台生成多個其他進程。 我希望可以進行多線程處理,但是我的代碼使用的基礎庫在多線程環境中並不可靠。

我的后台python進程需要等待近一個小時才能發生事件。 檢查該事件是否發生的唯一方法是使用輪詢方法。

所以,我有一個代碼,可以休眠一分鍾( time.sleep(60) ),然后喚醒並執行一些工作。 輪詢一些東西並入睡。

但是,我經歷過很多次一個/多個線程進入深度睡眠狀態,並且從未出現過。 可能是什么原因? 有一個更好的方法嗎。 (我不等待IO)

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

(平台是OSX)

謝謝

您似乎有一個無限循環。
while TRUE始終為TRUE ,因此它停留在該循環中。
只有當if eventTRUE時才會break

您的代碼中的問題似乎是, if event始終為FALSE ,則它永遠不會為TRUE 因此,您停留在while循環中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM