关于事件的可持续化
关于事件的持续化
默认情况下,任何时候一个挂起的事件被激活(因为他的fd准备好了读或者写,或者因为他的超时过期了),它会在回调函数执行之前变为非挂起。如果你想让事件再次挂起,你需要在回调函数内部调用event_add()。
如果一个事件被设置了EV_PERSIST,那么这个事件就是持续化的,意思就是这个事件会保持挂起状态,即使回调函数被执行。如果你想让它变为非挂起状态,可以在回调函数中调用event_del()。
任何时候事件的回调函数触发都会重置持续化事件中的超时状态。因此,如果的事件有EV_READ/EV_PERSIST并且设置了5秒超时,那么有两种情况会触发这个事件:
当socket可以进行读取的时候
当5s超时到期的时候
<?php $base = event_base_new(); $event = event_new(); event_set($event,STDIN,EV_READ | EV_PERSIST,'print_line',[$event,$base]); event_base_set($event,$base); event_add($event,5000000); event_base_loop($base); function print_line($fd, $events, $arg) { // 5秒超时会自动输出1,每次执行了read后,超时会被重置 echo 1; static $max_requests = 0; $max_requests++; if ($max_requests == 10) { // $arg[1] = $base event_base_loopexit($arg[1]); } // 打印输出 echo fgets($fd); }

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)