parallel\Channel::__construct

(1.1.0)

parallel\Channel::__constructChannel Construction

Açıklama

public parallel\Channel::__construct()

Shall make an anonymous unbuffered channel

public parallel\Channel::__construct(int $capacity)

Shall make an anonymous buffered channel with the given capacity

Bağımsız Değişkenler

capacity

May be Channel::Infinite or a positive integer

add a note

User Contributed Notes 2 notes

up
1
abolfazl dot ziaratban at gmail dot com
4 years ago
$capacity is count of stack in buffer.for example :<?phpuse parallel\{Channel,Runtime};$test = function($ch){    var_dump($ch->Recv());    var_dump($ch->Recv());    var_dump($ch->Recv());    echo 'Sleep'.PHP_EOL;    sleep(3);    echo 'Call Recv()'.PHP_EOL;    var_dump($ch->Recv());};$t1 = new Runtime();$ch = new Channel(3); //buffered channel $ch->Send('abc1');$ch->Send('abc2');$ch->Send('abc3');$t1->Run($test,[$ch]);sleep(1);echo 'Wait for Recv()...'.PHP_EOL;$ch->Send('abc4'); #php waits for only one stack of channel to be empty(by Recv() method)?>result:string(4) "abc1"string(4) "abc2"string(4) "abc3"SleepWait for Recv()...Call Recv()string(4) "abc4"
up
0
frame86 at live dot com
5 years ago
Please note $capacity unit is 1 MiB each, not bytes
To Top