私はnon-static
メソッドbarMethod()
をBar
と呼ぶFoo
という名前のClass
を持っています。 Bar
はFiber
です。
barMethod()
の内部にはpark()
があります。今どのFiber
は駐車されますか? Foo
インスタンスまたはBar
インスタンス?
park()
の署名(これはstatic
定義されており、これが私の混乱の主な理由です):
擬似サスペンド実行
public static void park()
throws SuspendExecution
答えは(そうであるように思わ)Foo
であれば、どのように私はBar
駐車することができますか?私は主にsuspend (park)
Bar
ではなく、Foo
になるつもりです。
Bar
のインスタンスをパークする方法についての回答を提供する場合は、Foo
ではなくBar
をパークしたいので、barMethod()
はSuspendExecution
にする必要があります。 Bar
のインスタンスからアクセスすることはできません。Foo
というインスタンスをこのメソッド内にパークしたくない(Bar
のみ)。
unpark()
に関するすべての同じ質問についても回答を提供してください。現在のFiber
(この場合はFoo
インスタンス)に適用されるか、Bar
インスタンスに影響しますか?後者の場合は、どうすればBar
インスタンスをアンカーできますか?Foo
インスタンスですか?