技巧1:用线程池来管理大量线程的场合

生成和启动线程都是很慢的操作,所以在要使用大量线程的场合,如果我们用线程池来有效的管理的话,可以让线程池管理器来启动或者重新分配已有线程从而提高效率。


技巧2:防止过多同步

因为不必要的同步会导致效率低下。尤其调用同步方法比调用非同步方法会占据更多的时间。所以如果程序的执行一定在单线程环境中,就没必要使用同步。


技巧3:同步方法而不要同步整个代码段

同步的区域越小,则性能越好


技巧4:在追求速度的场合,用ArrayList/HashMap来代替Vector/Hashtable

因为前者虽然线程不安全,但是他没有同步代码,所以执行效率会高多。


技巧5:使用notify而不是notifyAll方法

只唤醒等待对象的线程而不是唤醒所有线程,可以很高的提升性能。


技巧6:不要在循环中调用synchronized方法

因为方法的同步需要消耗大量的资料,所以不要在循环中调用。应该吧synchronized包在循环之外