子線程業務:循環10次
主線程業務:循環20次
這兩個循環(業務)需要交替執行共50次
要用到共同資料的(包括同步鎖)或共同算法(加密解密)的若幹個方法應該歸在同一個類上,這種設計正好展現了高内聚和程式的健壯性
中使用while防止假喚醒,使用if就不行
虛假喚醒就是一些obj.wait()會在除了obj.notify()和obj.notifyall()的其他情況被喚醒,而此時是不應該傳回的,是以要加條件判斷。
使用lock和condition改寫代碼
<a href="http://tianxingzhe.blog.51cto.com/3390077/1716805" target="_blank">http://tianxingzhe.blog.51cto.com/3390077/1716805</a>