摘要:
要编写线程安全的代码,核心在于要对状态访问操作进行管理,特别是共享的(shared)和可变的(mutable)状态的访问。对象的状态是指存储在状态变量中的数据,可能包括依赖对象的域。“共享”意味着变量可以由多个线程同时访问;“可变”意味着变量的值在其生命周期内可以发生变化。一个对象是否需要是线程安全的,取决于它是否被多个线程访问,而不是对象要实现的功能。修改线程不安全代码的方法:1.不再线程间共享该变量的状态(封闭线程)2.将状态变量修改为不可变的3.在访问变量状态时使用同步在设计代码的初期就应该考虑线程安全的问题2.1什么是线程安全性无状态变量一定是线程安全的2.2原子性2.2.1竞态条件由
阅读全文