」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > Python多進程池中如何處理鍵盤中斷?

Python多進程池中如何處理鍵盤中斷?

發佈於2025-04-20
瀏覽:262

How to Handle Keyboard Interruptions in Multiprocessing Pools with Python?與python

處理鍵盤板的處理對於有效地管理並行過程至關重要。多處理庫提供了一種創建可以同時執行任務的工作過程池的方法。但是,當執行這些過程期間啟動鍵盤間斷時,就會出現問題。

問題:塊很大很高。但是,除了塊外,相應的代碼永遠不會執行,而將程序掛起。 嘗試: 結果= pool..map(慢慢_square,範圍(40)) 除了鍵盤干擾: pool..terminate() 打印(“您取消了程序!”) sys.exit(1)

此問題是由python中的一個錯誤引起的,在python中,鍵盤插入在three.condition.condition.condition.condition.wait.watait()中都不會發送鍵盤插入。在多處理庫中,池使用條件變量等待MAP()操作的結果。當發生鍵盤間斷時,條件變量wait()不會返回,從而阻止中斷。

解決此問題,在等待結果時指定了超時。這可以通過用map_async()。 get(超時)替換映射(),其中超時設置為較大的值。

[pool.map_async(sheam_square,range(range(40))。鍵盤間斷尚未處理。這允許塊除外,可以執行池的終止以及中斷的優雅處理。

版本聲明 本文轉載於:1729576518如有侵犯,請聯繫[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3