\MultiProcessor

並列実行ドライバ

Linuxの fork&exec を利用したものなのでWindowsでは動作しない。 pcntl拡張が必要。

Summary

Methods
Properties
Constants
__construct()
run()
addChild()
No public properties found
No constants found
startChildren()
forkChild()
No protected properties found
N/A
No private methods found
$childProcesses
$pids
N/A

Properties

$childProcesses

$childProcesses : array

登録された子プロセスのリスト

executable => PATH/TO/EXECUTABLE
args => array(arg1, arg2...)

Type

array

$pids

$pids : array

実行中の子プロセスのリスト <pre> pid => forked => true/false args => array(arg1, arg2.

..)

Type

array

Methods

__construct()

__construct() 

run()

run() : boolean

登録された子プロセスを fork&exec する

Throws

\Exception

pcntl拡張がインストールされていない

\Exception

fork失敗

Returns

boolean —

子プロセス全てが正常終了(0)したか否か

addChild()

addChild(string  $executableFullpath, array<mixed,string>  $args = array()) 

子プロセスを登録する

$executableFullpath は実行可能でなければならない。 interpreter, permissionをよく確認すること。

Parameters

string $executableFullpath

実行可能ファイルのfullpath

array<mixed,string> $args

(optional) 引数

startChildren()

startChildren() 

forkChild()

forkChild(string  $executable, array<mixed,string>  $args) : integer

fork & exec

オーバレイをここでカプセル

Parameters

string $executable
array<mixed,string> $args

Throws

\Exception

fork failed

Returns

integer —

process id