// The standard idiom for calling the wait method in Java
synchronized (sharedObject) {
while (condition) {
sharedObject.wait();
// (Releases lock, and reacquires on wakeup)
}
// do action based upon condition e.g. take or put into queue
}

⑤多线程中测试某个条件的变化用 if 还是用 while?

说是要把if换成while的理由,应该是wait线程被唤醒之后,会继续从wait那里往下面执行,如果是if的话,就会直接往下面执行,不会再判断if的状态了;但是如果是while的话,从wait那里往下面执行,然后还会判断while中的条件,如果==0的话,还是会继续阻塞,如果是>0,则会执行while语句块外面的remove吧?!其中关键就是被notify唤醒之后,是否会执行条件判断

 

http://www.cnblogs.com/hapjin/p/5492645.html

最新文章

  1. Node+fs+定时器(node-schedule)+MySql
  2. rmarkdown教程
  3. Dynatree使用
  4. 高性能的JavaScript库---Lodash
  5. 马旭飞:共探H3 BPM社区发展战略
  6. c#中文转全拼或首拼
  7. 完整学习git一git设置
  8. Java File 类的使用方法详解
  9. (转)Libevent(2)— event、event_base
  10. 通过修改 Apache 的配置文件 htaccess 文件实现自定义404页面
  11. FTA
  12. C: Run a System Command and Get Output? 在C程序中调用工具,并且得到结果。
  13. java使用POI操作XWPFDocument 生成Word实战(一)
  14. SSH中的免password登录
  15. poj3237 树链部分 边权模板
  16. 前端“黑话”polyfill
  17. 爬取伯乐在线文章(五)itemloader
  18. Combobox值自定义(不通过数据库)
  19. Ping命令的另一种使用方法
  20. B - 低阶入门膜法 - D-query (查询区间内有多少不同的数)

热门文章

  1. jw player学习笔记----跨域请求
  2. 转:极小极大搜索方法、负值最大算法和Alpha-Beta搜索方法
  3. centos 防火墙关闭/开启
  4. 计算n阶行列式的模板
  5. [bzoj3532][Sdoi2014]Lis——拆点最小割+字典序+退流
  6. react框架
  7. VC6.0显示行号的插件
  8. CentOS 7 主机加固手册-下
  9. Codeforces Round #391 A B C D E
  10. Swift中的类型属性(静态变量)