首页 > 其他 > 详细

并发(二)

时间:2017-07-10 21:25:58      阅读:325      评论:0      收藏:0      [点我收藏+]

共享资源问题

多个线程访问同一个资源时,其顺序不能保证,可能会造成错误。可以用sycronized关键字锁住某个对象,保证其访问是异步的。

另一个方案是用lock。

区别:

sycronized是悲观锁,阻塞等待,lock可以搞乐观锁,尝试冲突重试

sycronized死等抱柱信,lock可以设置响应中断

sycronized控制临界资源与await和notify管理有序对应的对象是同一个,lock用newCondition的方式实现了分离,控制更精确。

 

原子性,可见性,有序性。

volatile保证可见性,通过禁用指令重排保证有序性,但不保证原子性。

syncronized和lock以及AtomicXXX可以保证原子性。

 

并发(二)

原文:http://www.cnblogs.com/jianxiafeipeng/p/7147504.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!