(0.9.0)
parallel\Events::setBlocking — 行为
默认情况下,轮询事件时,将发生阻塞(在 PHP 层面),直到可以返回第一个事件:将阻塞模式设置为false
将导致如果轮询的第一个目标未准备好,则轮询返回控制。
这与使用parallel\Events::setTimeout()设置 0 超时不同,因为虽然允许 0 超时,但它会导致引发异常,如果真正需要的是非阻塞行为,这可能会非常慢或浪费资源。
非阻塞循环会影响parallel\Events::poll()的返回值,这样在所有事件都处理之前,它可能是null
。
设置阻塞模式
如果循环设置了超时,则将抛出parallel\Events\Error。