hotspot/src/share/vm/oops/instanceKlass.cpp
void instanceKlass::set_initialization_state_and_notify_impl(instanceKlassHandle this_oop, ClassState state, TRAPS) {
{- -------------------------------------------
(1) notify_all() を呼び出す必要があるので, ここでロックを取っておく.
---------------------------------------- -}
ObjectLocker ol(this_oop, THREAD);
{- -------------------------------------------
(1) このクラスオブジェクトの初期化状態を
state 引数で指定されたものに変更する
---------------------------------------- -}
this_oop->set_init_state(state);
{- -------------------------------------------
(1) 初期化処理が終わったため,
初期化処理で排他待ちしている他スレッドを起こしておく.
(See: instanceKlass::initialize_impl())
---------------------------------------- -}
ol.notify_all(CHECK);
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.