[英]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 event
為TRUE
時才會break
。
您的代碼中的問題似乎是, if event
始終為FALSE
,則它永遠不會為TRUE
。 因此,您停留在while循環中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.