Heim php教程 PHP源码 Über die Nachhaltigkeit von Veranstaltungen

Über die Nachhaltigkeit von Veranstaltungen

Nov 11, 2016 am 09:23 AM

Informationen zur Ereignispersistenz
Standardmäßig wird jedes Mal, wenn ein ausstehendes Ereignis aktiviert wird (weil sein FD zum Lesen oder Schreiben bereit ist oder weil sein Zeitlimit abgelaufen ist), es in der Rückruffunktion ausgeführt. Wird nicht mehr ausstehend vor der Ausführung. Wenn Sie möchten, dass das Ereignis erneut ansteht, müssen Sie event_add() innerhalb der Callback-Funktion aufrufen.
Wenn ein Ereignis auf EV_PERSIST gesetzt ist, ist das Ereignis dauerhaft, was bedeutet, dass das Ereignis auch dann anstehend bleibt, wenn die Rückruffunktion ausgeführt wird. Wenn Sie möchten, dass es sich in einem nicht ausstehenden Zustand befindet, können Sie event_del() in der Rückruffunktion aufrufen.

Jedes Mal, wenn die Rückruffunktion des Ereignisses ausgelöst wird, wird der Timeout-Status im dauerhaften Ereignis zurückgesetzt. Wenn das Ereignis also EV_READ/EV_PERSIST hat und ein 5-Sekunden-Timeout festgelegt ist, gibt es zwei Situationen, die dieses Ereignis auslösen:

  • Wenn der Socket gelesen werden kann

  • Wenn das 5-Sekunden-Timeout abläuft

<?php
$base = event_base_new();
$event = event_new();

event_set($event,STDIN,EV_READ | EV_PERSIST,&#39;print_line&#39;,[$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);
}
Nach dem Login kopieren

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)