锁定老帖子 主题:最简单高效的tryLock
精华帖 (0) :: 良好帖 (2) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-09-25
asme2u 写道 有判断语句,不光只有一条修改语句
大致是这样的意思: if(l.tryLock()) { if(!busyFlag) { busyFlag = true; } l.unlock(); } 那个标志是个volatile 看来你领悟的奥义了。 |
|
返回顶楼 | |
发表时间:2010-09-25
mercyblitz 写道 asme2u 写道 有判断语句,不光只有一条修改语句
大致是这样的意思: if(l.tryLock()) { if(!busyFlag) { busyFlag = true; } l.unlock(); } 那个标志是个volatile 看来你领悟的奥义了。 呵呵,谈不上领悟,到是确实没注意到也没用到b1=!b2这样的情况,所以没明白为什么你说volatile也还存在问题 |
|
返回顶楼 | |
发表时间:2010-09-25
asme2u 写道 mercyblitz 写道 asme2u 写道 有判断语句,不光只有一条修改语句
大致是这样的意思: if(l.tryLock()) { if(!busyFlag) { busyFlag = true; } l.unlock(); } 那个标志是个volatile 看来你领悟的奥义了。 呵呵,谈不上领悟,到是确实没注意到也没用到b1=!b2这样的情况,所以没明白为什么你说volatile也还存在问题 volatile 只能保证可见,不能保证原子 你在try finally块保证了原子 我猜他是这个意思 |
|
返回顶楼 | |