Heim > Backend-Entwicklung > PHP-Tutorial > Vergleich der blockierenden und nicht blockierenden Methoden von PHP zum Schreiben von Dateien mit Flock

Vergleich der blockierenden und nicht blockierenden Methoden von PHP zum Schreiben von Dateien mit Flock

小云云
Freigeben: 2023-03-20 06:28:01
Original
1654 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich der Vergleich blockierender und nicht blockierender Methoden zum Schreiben von Dateien mithilfe von Flock in PHP vorgestellt. Der Herausgeber findet es ziemlich gut, deshalb teile ich es jetzt mit Ihnen und gebe es als Referenz. Folgen wir dem Herausgeber, um einen Blick darauf zu werfen. Ich hoffe, es kann allen helfen.

Schreibcode blockieren: (Alle Programme warten vor der Ausführung auf das Ende der letzten Programmausführung und brechen nach 30 Sekunden ab)

<?php 
$file = fopen("test.txt","w+"); 
 
$t1 = microtime(TRUE); 
if (flock($file,LOCK_EX)) 
{ 
 sleep(10); 
 fwrite($file,"Write something"); 
 flock($file,LOCK_UN); 
 echo "Ok locking file!"; 
} 
else 
{ 
 echo "Error locking file!"; 
} 
 
fclose($file); 
 
$t2 = microtime(TRUE); 
echo sprintf("%.6f",($t2-$t1));
Nach dem Login kopieren

Schreibcode nicht blockierend : (Solange die Datei belegt ist, wird Fehler beim Sperren der Datei angezeigt!)

<?php 
$file = fopen("test.txt","a+"); 
 
$t1 = microtime(TRUE); 
if (flock($file,LOCK_EX|LOCK_NB)) 
{ 
 sleep(10); 
 fwrite($file,"Write something"); 
 flock($file,LOCK_UN); 
 echo "Ok locking file!"; 
} 
else 
{ 
 echo "Error locking file!"; 
} 
 
fclose($file); 
 
$t2 = microtime(TRUE); 
echo sprintf("%.6f",($t2-$t1));
Nach dem Login kopieren

Verwandte Empfehlungen:

Umfassendes Verständnis von Coroutinen und Blockierung in PHP

Detaillierte Erläuterung der klassischen und nicht blockierenden

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage