Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.4k views
in Technique[技术] by (71.8m points)

swoole channel pop阻塞问题

PHP Version 7.2.22 (cli) (built: Sep 11 2019 18:11:52) ( NTS )

swoole Version => 4.4.12

    go(function(){
        $chan = new SwooleCoroutineChannel(1000);
        SwooleCoroutine::create(function () use ($chan) {
            for($i = 0; $i < 10; $i++) {
                co::sleep(0.01);
                $chan->push(['rand' => rand(1000, 9999), 'index' => $i]);
            }
        });
        SwooleCoroutine::create(function () use ($chan) {
            while(1) {
                $data = $chan->pop();
                var_dump($data);
            }
        });
    });

同一个代码 4.4以上的swoole版本pop就不阻塞, 4.3.1的版本就会阻塞在pop, 但是我看现在的文档 pop 默认是值是-1 永远不超时,这个是如何理解呢,是代表永远都不会阻塞了么


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...