技巧1:用线程池来管理大量线程的场合
生成和启动线程都是很慢的操作,所以在要使用大量线程的场合,如果我们用线程池来有效的管理的话,可以让线程池管理器来启动或者重新分配已有线程从而提高效率。
技巧2:防止过多同步
因为不必要的同步会导致效率低下。尤其调用同步方法比调用非同步方法会占据更多的时间。所以如果程序的执行一定在单线程环境中,就没必要使用同步。
技巧3:同步方法而不要同步整个代码段
同步的区域越小,则性能越好
技巧4:在追求速度的场合,用ArrayList/HashMap来代替Vector/Hashtable
因为前者虽然线程不安全,但是他没有同步代码,所以执行效率会高多。
技巧5:使用notify而不是notifyAll方法
只唤醒等待对象的线程而不是唤醒所有线程,可以很高的提升性能。
技巧6:不要在循环中调用synchronized方法
因为方法的同步需要消耗大量的资料,所以不要在循环中调用。应该吧synchronized包在循环之外
本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/1203491,如需转载请自行联系原作者