tick.php 627 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. declare(ticks=10);
  3. $max_msec = 10;
  4. Swoole\Coroutine::set([
  5. 'max_exec_msec' => $max_msec,
  6. ]);
  7. $s = microtime(1);
  8. echo "start\n";
  9. $flag = 1;
  10. go(function () use (&$flag, $max_msec, $s){
  11. echo "coro 1 start to loop for $max_msec msec\n";
  12. $n = 10000000;
  13. $i = 0;
  14. while($n--) {
  15. $i ++;
  16. }
  17. echo "coro 1 can exit\n";
  18. $t = microtime(1);
  19. $u = $t-$s;
  20. echo "coro 1 use time ".(($t-$s) * 1000)." ms\n";
  21. });
  22. $t = microtime(1);
  23. $u = $t-$s;
  24. echo "shedule use time ".($u * 1000)." ms\n";
  25. go(function () use (&$flag){
  26. echo "coro 2 set flag = false\n";
  27. $flag = false;
  28. });
  29. echo "end\n";