##Java线程
Java中,并发的基本单元是线程,可以将线程看作控制流(thread of control)。线程之间通过共享内存进行通信。

## 并发运行结果特点
并发运行结果依赖于时序,多次运行的结果并不稳定。
并发编程中如果某事可能会发生,那么不论多艰难它一定会发生,而且可能发生在最不利的时刻。
##java加法是读-改-写(read-modify-write)模式

## 读-改-写(read-modify-write)模式并发控制
竞态条件的解决方案是对count进行同步(synchronize)访问——使用Java对象原生的内置锁(也被称为互斥锁(mutex)、管程(monitor)或临界区(critical section))来同步对increment()的调用

对于这种只涉及一个变量的互斥场景,使用java.util.concurrnet.atomic包是更好的选择
网友评论