`
bolutes
  • 浏览: 868372 次
文章分类
社区版块
存档分类
最新评论

Java多线程设计模式详解学习笔记三——SingleThreadExecution

 
阅读更多

运行结构:

测试无法证明安全性:如果测试时找到错误,标明写好的程序并不安全。但是就算测试时没有找到错误也不能保证程序一定是安全的。当测试的次数不够,时间点部队,就可能检查不到问题。
在程序中Gate是SharedResource(共享资源),需要进行共享互斥的操作

运行结果:

check()方法也有name和address字段,为什么没有加synchronized:

因为pass方法调用check()方法,而pass方法已经synchronized了,而check方法又是private的,所以不会有其他线程同时调用这个方法。

看到synchronized时就要思考这个synchronized是在保护什么。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics