2016-05-06 42 views
0

我有一個python函數打開一些LED,然後暫停(time.sleep),然後通過Raspberry Pi關閉LED。這比這更復雜一點 - 它實際上是一堆各種模式的LED,所以有幾百行代碼。此函數在無限循環中完成所有操作。最初,我在一個線程中調用函數,因爲我還有一些其他代碼也可以連續運行。替代Python中的線程(並終止線程)

現在,我需要能夠終止該功能。這可能需要10秒或100秒後。每一次都將取決於。在查看網站和研究線程時,僅僅終止線程並不明智,我不能真正使用標誌,因爲函數中有很多代碼行。

是否有使用線程的替代方法?

回答

2

如果你不需要在線程之間共享明顯的數據共享,你可以使用multiprocessing,這與threading模塊非常相似,但是使用了進程(可以安全地終止)。

+0

謝謝,似乎工作。通過終止安全,你的意思只是通過使用 「.terminate()」,例如: P = multiprocessing.Process(目標=測試) p.start() p.terminate() p.join() – user1624184

+0

@ user1624184:是的。 – ShadowRanger