LonghornPHP 2026

parallel\Channel::__construct

(1.1.0)

parallel\Channel::__constructConstrucción de canal

Descripción

public function parallel\Channel::__construct()

Crear un canal anónimo no tamponado.

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

Crear un canal anónimo tamponado con la capacidad dada.

Parámetros

capacity

Puede ser Channel::Infinite o un integer positivo

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 2 notes

up
2
abolfazl dot ziaratban at gmail dot com
5 years ago
$capacity is count of stack in buffer.
for example :
<?php
use 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"
Sleep
Wait for Recv()...
Call Recv()
string(4) "abc4"
up
0
frame86 at live dot com
6 years ago
Please note $capacity unit is 1 MiB each, not bytes
+add a note

AltStyle によって変換されたページ (->オリジナル) /