《2018年4月17日》【连续189天】
标题:同步;
内容:
1.竞争条件:
在大多数实际的多线程应用中, 两个或两个以上的线程需要共享对同一数据的存取。如果
两个线程存取相同的对象, 并且每一个线程都调用了一个修改该对象状态的方法,
根据各线程访问数据的次序, 可能会产生讹
误的对象。这样一个情况通常称为竞争条件(race condition)。
2.锁对象:
当一个线程运行时,它的读入输出数据是锁对象,其它线程无法访问,修改;
3.条件对象:
通常, 线程进人临界区,却发现在某一条件满足之后它才能执行。要使用一个条件对
象来管理那些已经获得了一个锁但是却不能做有用工作的线程。
例如:如果一个线程对一个账户进行取款,却发现余额不足,需要其它线程进行汇款,但此时该账户被锁,其它线程无法访问,需要一个条件对象来避免这种情况;
4.同步阻塞;
5.volatile域;
6.原子性;
7.死锁;
8.线程局部变量;
9.锁测试与超时;