上一篇 synchronized 的寫法, 其實只是為了說明而以, 事實上, 我們並不會這麼寫. 因為t2會在500ms~1000ms之間, 持續進入running區, 但因為沒有鑰匙不得其門而入再退出, 所以一直在running 及runnable之間徘迴浪費CPU資源.
我們改用下面的方法, 在t2之間加入t1.join(); 即跟自已(t2)講, 要禮讓t1先執行, 待t1執行完畢, 才會啟動自已. 如果就不會浪費CPU的資源了。
上一篇 synchronized 的寫法, 其實只是為了說明而以, 事實上, 我們並不會這麼寫. 因為t2會在500ms~1000ms之間, 持續進入running區, 但因為沒有鑰匙不得其門而入再退出, 所以一直在running 及runnable之間徘迴浪費CPU資源.
我們改用下面的方法, 在t2之間加入t1.join(); 即跟自已(t2)講, 要禮讓t1先執行, 待t1執行完畢, 才會啟動自已. 如果就不會浪費CPU的資源了。

Your point of view caught my eye and was very interesting. Thanks. I have a question for you.