2013-09-05 31 views

回答

2

回調是一種創建的方法,可以在某個特定的時間/事件從別處調用。

sleep()wait()yield()被線程調用以執行動作。 notify()可能會被解釋爲一個,因此如果一個是正確的更正確的答案,但沒有。

5

您列出的方法都不是回調。整個Thread類只包含一個用戶可覆蓋的方法,即run,這可能被認爲是該類的回調方法,因爲它被Thread的內部調用。然而,最好的做法是而不是根本無法擴展Thread。提供您自己的Runnable實現,該實現有其回調方法run

2

這些看起來都不像傳統的回調。一個回調函數/方法是你註冊的東西,一旦操作完成時被調用(如果任務在另一個線程中被調度,可能是異步的)。

睡眠,等待和收益基本上阻止執行,直到滿足條件。通知喚醒被等待阻塞的線程。

+0

'yield()'是否真的被視爲阻塞呼叫? –

+0

@ Eng.Fouad:我認爲它阻塞,因爲它不會啓動任何異步過程。這就像睡眠一樣,一旦線程重新啓動,執行就會繼續。 – Kainsin

相關問題