Heim >Backend-Entwicklung >PHP-Tutorial >Erfahren Sie mehr über die erweiterte Verwendung von PHP yield
Als ich zum ersten Mal mit PHP
s yield
in Kontakt kam, hatte ich das Gefühl, was für eine schwarze Technologie ist yield
? Baidu :yield
——Coroutine, Generator. In vielen Artikeln geht es um Iterator
, Generater
, verdammt ~, dieses Ding ist eine Ergänzung zu PHP-Iteratoren. Blättern Sie noch ein paar Seiten weiter und da ist es Go 协程
. Ich habe aus Neugier auf Go 协程
geklickt und da waren Wörter wie 并发
, 线程
, 管道通讯
drin, wc, nb, das ist schwarze Technologie, komm zurück und lies PHP
noch einmal, ich möchte Transfer Go
jede Minute.
Verwandte Lernempfehlungen: PHP-Programmierung vom Anfänger bis zum Experten
Die yield
-Syntax wurde in Version 5.5 zu PHP
hinzugefügt. Sie wird mit Iteratoren verwendet und ist funktionell mit dem 流程控制
-Code identisch, ähnlich wie goto
und return
.
Das Folgende ist ein kleines Beispiel für die vom Beamten bereitgestellte Ausbeute. Anhand der Ausführungsergebnisse können wir analysieren, dass der Code, wenn er bis yield $i
ausgeführt wird, zu return $i
und nach , echo "$valuen"
goto
, richtig! Der Yield von PHP ist eine Syntax, die ein- und ausgehen kann. Im Z-Code, sieben rein und sieben raus, wird das for ($i = 1; $i d9cfcf0ee9d2b23696ed298d3f7af3bfloop()
), d. h. Mehrkanalüberwachung: Anforderungsport, Anforderungsantwort-Port eines Drittanbieter-Clients. Wenn zu diesem Zeitpunkt:
worker
um neue Anfragen. Wenn Konkurrenz auftritt, wird im Worker ein neuer Generator generiert. Ausgehend von 1 können wir davon ausgehen, dass, wenn es nur einen Worker
gibt, dieser Worker
weiterhin die nächste Anfrage annehmen und verarbeiten kann, wenn die vorherige Anfrage nicht abgeschlossen ist. Das heißt, CoWorkerman
kann unter einem einzigen Worker
ausgeführt werden und mehrere Anfragen gleichzeitig bearbeiten.
Natürlich gibt es hier eine Voraussetzung: Blockierungsfunktionen können nicht im Einzelmodus ausgeführt werden. Sobald sie blockiert sind, werden nachfolgende Anforderungen auf der Netzwerkkarte blockiert. Wenn Sie also eine Bibliothek eines Drittanbieters verwenden, empfehle ich Ihnen dennoch,
Worker
im Multi-Worker
-Modus auszuführen. Beim Blockieren gibt es andereCoWorkerman
s, die neu gehalten werden müssen Anfragen.Worker
Anfragen verarbeiten, wie z.B. Socket
, oder Workerman Gateway
die mehrere Dienste integrieren大前端
Das Ergebnis wird nach der Synthese an ein Szenario wie RPC
zurückgegeben.前三页
Die Protokollierung ist die grundlegendste Anforderung jedes Programms. Da die Dateischreibfunktion blockiert, wird die Verwendung von Nachrichten empfohlen Warteschlange oder Redis-Warteschlange. Oder überspringen SieCoWorkerman hat seine Grenzen und seine eigene Position.und werfen Sie
Logstash
Elasticsearch
yield
Wenn ja, machen Sie es bitte dreimal.
CoWorkerman
Das obige ist der detaillierte Inhalt vonErfahren Sie mehr über die erweiterte Verwendung von PHP yield. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!