同步不仅可以阻止一个线程看到对象处于不一致的状态中, 它还可以保证进入同步方法或者同步代码块的每个线程, 都看到由同一个锁保护的之前所有的修改效果.虽然语言规范保证了线程在读写数据的时候, 不会看到任意的数值...为了在线程之间进行可靠的通信, 也为了互斥访问, 同步是必要的. -> 归因于内存模型, 规定线程所做的变化何时以及如何对其他线程可见.如果读和写操作没有都被同步, 同步就不会起作用.volatile修饰符不执行互斥访问...holder class模式.对于可以接受重复初始化的实例域, 也可以考虑使用单重检查模式.第84条 不要依赖于线程调度器线程调度器(thread scheduler)决定哪些线程将会运行, 以及运行多长时间...编写良好的程序不应该依赖于这种策略的细节.要编写健壮的, 响应良好的, 可移植的多线程应用程序, 最好的办法是确保可运行线程的平均数量不明显多于处理器的数量.降低线程数量: 如果线程没有做有用的工作,...线程优先级可以用来提高一个已经能够正常工作的程序的服务质量, 但永远不应该用来"修正"一个原本不能工作的程序.