请你讲讲wait方法的底层原理

发布于 2020-01-28 22:35:12
关注者
0
被浏览
2902
1 个回答
  • 面试哥
    面试哥 2020-01-28
    为面试而生,有面试问题,就找面试哥。

    考察点:基础

    ObjectSynchronizer::wait方法通过object的对象中找到ObjectMonitor对象调用方法 void ObjectMonitor::wait(jlong millis, bool interruptible, TRAPS)

    通过ObjectMonitor::AddWaiter调用把新建立的ObjectWaiter对象放入到 _WaitSet 的队列的末尾中然后在ObjectMonitor::exit释放锁,接着 thread_ParkEvent->park 也就是wait。

推荐阅读
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看