hotspot/src/share/vm/runtime/objectMonitor.cpp
inline ObjectWaiter* ObjectMonitor::DequeueWaiter() {
{- -------------------------------------------
(1) 待ちキュー(_WaitSet)が空(NULL)であれば, NULL をリターン.
待ちキュー(_WaitSet)が空でなければ, その先頭要素をリターン.
(なおこっちのケースでは, リターンする前に ObjectMonitor::DequeueSpecificWaiter() で
その先頭要素を _WaitSet から外す処理も行っている.)
---------------------------------------- -}
// dequeue the very first waiter
ObjectWaiter* waiter = _WaitSet;
if (waiter) {
DequeueSpecificWaiter(waiter);
}
return waiter;
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.