wait和notify函数的规范代码模板

Posted H_bolin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wait和notify函数的规范代码模板相关的知识,希望对你有一定的参考价值。

// 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

 

以上是关于wait和notify函数的规范代码模板的主要内容,如果未能解决你的问题,请参考以下文章

JAVA同步锁机制 wait() notify() notifyAll()

wait和notify简单学习

android java 线程 wait()函数

多线程的wait/notify的使用

关于wait,notify,notifyall,sleep方法的思考

Java中 wait和await notify和signal的区别