技巧1:用線程池來管理大量線程的場合
生成和啟動線程都是很慢的操作,所以在要使用大量線程 的場合,如果我們用線程池來有效的管理的話,可以讓線程池管理器來啟動或者重新分配已有線程從而提高效 率。
技巧2:防止過多同步
因為不必要的同步會導致效率低下。尤其調用同步方法比調用非同 步方法會占據更多的時間。所以如果程序的執行一定在單線程環境中,就沒必要使用同步。
技巧3:同 步方法而不要同步整個代碼段
同步的區域越小,則性能越好
技巧4:在追求速度的場合,用 ArrayList/HashMap來代替Vector/Hashtable
因為前者雖然線程不安全,但是他沒有同步代碼,所以執 行效率會高多。
技巧5:使用notify而不是notifyAll方法
只喚醒等待對象的線程而不是喚醒所 有線程,可以很高的提升性能。
技巧6:不要在循環中調用synchronized方法
因為方法 的同步需要消耗大量的資料,所以不要在循環中調用。應該吧synchronized包在循環之外