美文网首页
wait/notify 设置时间等待会怎么样?

wait/notify 设置时间等待会怎么样?

作者: RWSC | 来源:发表于2019-03-08 17:22 被阅读0次

    我们知道wait/notify/notifyAll 在执行前都需要获取对象锁。

    一般程序:

    synchronized obj {

        // 条件不满足

        obj.wait()

        // 业务逻辑

    }

    线程A执行上面执行上面逻辑后,会一直阻塞。直到其他线程B调用ThreadA.interrupt() 或者 执行下面程序。线程A才会被唤醒,唤醒会进行抢锁(这里JVM可进行优化,判断有对象已经被抢锁后,可能直接将线程放入对象的等待队列,需要确认?),抢锁成功后,继续执行业务逻辑。

    synchronized obj {

        obj.notify/notifyAll

    }

    obj.wait(timeout)的区别时,时间到达后,提前进入强锁阶段。

    相关文章

      网友评论

          本文标题:wait/notify 设置时间等待会怎么样?

          本文链接:https://www.haomeiwen.com/subject/clalpqtx.html