$channels $channels : array<mixed,\Swoole\Coroutine\Channel> \Swoole\Coroutine\Channel 数组 Type array<mixed,\Swoole\Coroutine\Channel>
addName() addName(string $name, integer $size) : void 增加对象名称 Parameters string $name integer $size 通道占用的内存的尺寸,单位为字节。最小值为64K,最大值没有限制
push() push(string $name, mixed $data) : boolean 向通道写入数据 $data可以为任意PHP变量,当$data是非字符串类型时底层会自动进行串化 $data的尺寸超过8K时会启用临时文件存储数据 $data必须为非空变量,如空字符串、空数组、0、null、false 写入成功返回true 通道的空间不足时写入失败并返回false Parameters string $name mixed $data Returns boolean
pop() pop(string $name, float $timeout) : mixed 弹出数据 pop方法无需传入任何参数 当通道内有数据时自动将数据弹出并还原为PHP变量 当通道内没有任何数据时pop会失败并返回false Parameters string $name float $timeout Returns mixed
stats() stats(string $name) : array 获取通道的状态 返回一个数组,缓冲通道将包括4项信息,无缓冲通道返回2项信息 consumer_num 消费者数量,表示当前通道为空,有N个协程正在等待其他协程调用push方法生产数据 producer_num 生产者数量,表示当前通道已满,有N个协程正在等待其他协程调用pop方法消费数据 queue_num 通道中的元素数量 queue_bytes 通道当前占用的内存字节数 Parameters string $name Returns array
close() close(string $name) : void 关闭通道。并唤醒所有等待读写的协程。 唤醒所有生产者协程,push方法返回false 唤醒所有消费者协程,pop方法返回false Parameters string $name
getInstance() getInstance(string $name) : \Swoole\Atomic 获取实例 Parameters string $name Returns \Swoole\Atomic