test.php 482 B

12345678910111213141516171819202122
  1. <?php
  2. use Swoole\Coroutine as co;
  3. $chan = new co\Channel(2);
  4. $n = 10;
  5. for ($i = 0; $i < $n; $i++) {
  6. go(function () use ($i,$chan) {
  7. $ret = $chan->push($i);
  8. echo "push {$i} res:".var_export($ret, 1)."\n";
  9. });
  10. };
  11. go(function ()use ($chan){
  12. $bool = true;
  13. while ($bool){
  14. $data = $chan->pop();
  15. echo "pop res:".var_export($data, 1)."\n";
  16. if($data===false){
  17. $bool = false;
  18. }
  19. //var_dump($data);
  20. }
  21. });