2013-04-11 24 views

回答

9

它們都是線程,但是,一個線程旨在執行一個任務(在其運行方法中定義),然後退出。 Worker意圖以Stackable派生對象的形式等待任務,實現它們自己的運行方法,並按照它們插入的順序從堆棧中執行它們。

通過這種方式,工作人員允許您重複使用上下文,他們提供了一種很難在用戶空間編程的效率手段,但沒有什麼不可能的。

+0

每次新建一個Stackable而不是添加一個回調(以數組/字符串形式)實例化會不會很慢?例如'$ stack [] = [「ExClass」,「method」];'在一個線程中執行:'while(true){if(count($ stack))$ {'callback'。!($ callback = $ stack - >移())}(); else $ this-> wait(); }' – bwoebi 2013-04-11 19:30:32

+0

@bwoebi你可以添加一個工作代碼嗎? – Baba 2013-05-19 18:02:07

+0

@Baba不,我沒有爲此寫過工作代碼。這是一個普遍的問題...... – bwoebi 2013-05-19 18:24:48