1. 程式人生 > 實用技巧 >執行緒通訊之列印12A34B心得

執行緒通訊之列印12A34B心得

做列印時發現輸出的數字和字母不是連續的。

原因是迴圈的時候flag不滿足條件的那次迴圈就漏掉了。

查閱資料發現有兩種寫法:

先喚醒其他執行緒自己再wait,這樣下次再執行的時候是從wait()開始的,不會漏掉一次迴圈,前提只有一個num一個char執行緒。

或者把要輸出的num變數和迴圈變數單獨定義,這個時候迴圈變數最大值要比迴圈次數大一點。如下圖: