


PHP8.1 Fiber führt Cross-Multitasking aus (mit detaillierter Code-Erklärung)
Nehmen Sie die for-Schleife, die normalerweise jeder schreibt, als Beispiel. Wie bei go können Sie zwei
schreiben und in jede eine Schleife schreiben, um sie gleichzeitig einzugeben. Sie können sehen, dass die Ausgabe abwechselnd ist. Wenn in früheren PHP-Versionen nur eine CLI geöffnet und mehrere for-Schleifen geschrieben wurden, muss die Ausgabe sequentiell erfolgen. Eine übergreifende Ausgabe kann nicht erreicht werden (dh nach mehrmaliger Ausführung in der ersten Schleife kann b erneut ausgeführt werden, b kann für einen bestimmten Zeitraum ausgeführt werden und dann kann A ausgeführt werden).
Mit Hilfe von Ballaststoffen können wir diesen Vorgang nun auch erreichen. [Empfohlenes Lernen: go
PHP-Video-Tutorial
<?php $t1 = false; $t2 = false; $reg = []; $reg[] = new \Fiber(function () use (&$t1) { for ($i = 1; $i < 10; $i++) { echo $i; echo PHP_EOL; \Fiber::suspend(); } $t1 = true; }); $reg[] = new \Fiber(function () use (&$t2) { for ($i = 1; $i < 10; $i++) { echo $i; echo PHP_EOL; \Fiber::suspend(); } $t2 = true; }); $startTag = true; while (count($reg) > 1) { if ($startTag) foreach ($reg as $pI) { $pI->start(); $startTag = false; } foreach ($reg as $pI) { $pI->resume(); } if ($t1 === true && $t2 === true) { break; } }
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9
<?php $reg = []; $fId = 1; $reg[$fId] = new \Fiber(function () use (&$reg, $fId) { for ($i = 1; $i < 10; $i++) { echo $fId . ':' . $i; echo PHP_EOL; if ($i % 3 == 0) { \Fiber::suspend(); } } unset($reg[$fId]); }); $fId++; $reg[$fId] = new \Fiber(function () use (&$reg, $fId) { for ($i = 1; $i < 10; $i++) { echo $fId . ':' . $i; echo PHP_EOL; \Fiber::suspend(); } unset($reg[$fId]); }); $startTag = true; while (count($reg) > 0) { if ($startTag) foreach ($reg as $pI) { $pI->start(); $startTag = false; } foreach ($reg as $pI) { $pI->resume(); } }
1:1 1:2 1:3 2:1 1:4 1:5 1:6 2:2 1:7 1:8 1:9 2:3 2:4 2:5 2:6 2:7 2:8 2:9
Das obige ist der detaillierte Inhalt vonPHP8.1 Fiber führt Cross-Multitasking aus (mit detaillierter Code-Erklärung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

