2011-01-25 110 views
1

我有一個關於這個CPAN模塊問題http://search.cpan.org/dist/HTTP-Proxy/HTTP ::代理模塊引擎

看來,這個模塊支持引擎

有人能解釋我的區別:

use HTTP::Proxy; 
    my $proxy = HTTP::Proxy->new(engine => 'NoFork'); 

和:

use HTTP::Proxy; 
    my $proxy = HTTP::Proxy->new; 

和:

use HTTP::Proxy; 
    my $proxy = HTTP::Proxy->new(engine => ScoreBoard); 

回答

2

引述HTTP::Proxy::Engine POD

發動機的作用是實現主叉+服務與循環所有必需的簿記。這也是測試各種實現和/或嘗試新算法而沒有太多困難的好方法。

各種發動機的描述是:

HTTP ::代理::引擎::遺產 - 「前輩」 HTTP ::代理引擎
HTTP ::代理::引擎:: NoFork - 一個基本的非分叉HTTP ::代理引擎
HTTP :: Proxy :: Engine :: ScoreBoard -A基於記分牌的HTTP ::代理引擎

注意:最後一個似乎是實現了「Scoreboard」動態調度算法(通常用於CPU指令調度)。在這種情況下,它更簡化了,記分牌 - 從我看到源頭 - 看起來只是每個分叉子進程的狀態列表

+0

感謝您的答案,你能解釋什麼是基於記分板的http ::代理引擎,如果非分叉http ::代理引擎正在使用線程? – johnny2 2011-01-25 18:22:52