我有一個名爲Foo
的Class
,它調用Bar
的non-static
方法barMethod()
。 Bar
延伸Fiber
。
裏面barMethod()
有一個致電park()
。現在哪個Fiber
將停放? Foo
實例或Bar
實例?的park()
簽名(其定義static
,這是我的困惑的主要原因):
類星體暫停執行
public static void park()
throws SuspendExecution
如果答案是Foo
(這似乎是如此),我怎麼可以停Bar
?我主要打算suspend (park)
Bar
而不是Foo
。
如果您向我提供關於如何停車Bar
實例的答案,那麼請告訴我,因爲我想停車Bar
,而不是Foo
,應該barMethod()
扔SuspendExecution
?它不會被Bar
的任何實例訪問,並且我不想在此方法內部駐留任何Foo
實例(僅限Bar
)。
請同時提供有關unpark()
的所有相同問題的答案。它會被應用到當前的Fiber
(Foo
這個例子中)還是影響Bar
實例?如果後者,那麼我怎麼能unpark Bar
實例,而不是Foo
實例?