使用threading.Event,使用wait()讓執行緒等待,其他執行緒執行set(),會讓wait的執行緒繼續執行,繼續執行後使用clear()清空事件狀態,如以下範例。
執行結果
呼叫event.wait(),函式x中斷執行
Y: 0
Y: 1
Y: 2
Y: 3
Y: 4
Y: 5
呼叫event.set(),函式x繼續執行
呼叫event.clear(),清空事件狀態
X: 0
X: 1
Y: 6
X: 2
Y: 7
X: 3
Y: 8
X: 4
Y: 9
參考資料:https://docs.python.org/zh-tw/3/library/threading.html