一、使用本地变量
二、使用不可变类
三、最小化锁的做用域范围:S=1/(1-a+a/n) (了解该公式便可)
四、使用线程池的Executor,而不是直接new Thread实现多线程
五、宁肯使用同步也不要使用线程的wait和notify
六、使用BlockingQueue实现生产-消费模式
七、使用并发集合而不是加了锁的同步集合
八、使用Semaphore建立有界的访问
九、宁肯使用同步代码块,也不使用同步的方法
十、避免使用静态变量,若是必定使用,设置为final,不然须要许多额外工做保证线程安全html