Heim > Artikel > Backend-Entwicklung > Muss die PHP-Programmierung Sperren verwenden?
Erfordert die PHP-Programmierung Sperren
Ja.
Denn um die Wirksamkeit und Integrität des Vorgangs sicherzustellen, ist es notwendig, den gleichzeitigen Zustand über den Sperrmechanismus in einen seriellen Zustand umzuwandeln, um das durch hohe Parallelität verursachte Problem der Ressourcenkonkurrenz zu lösen. Als einer der Sperrmechanismen ist die Dateisperre von PHP auch darauf ausgelegt, dem Ressourcenwettbewerb standzuhalten.
Angenommen, bei großer Parallelität schreibt fwrite die Daten mehrmals in geordneter Weise an das Ende der Datei. Mehrere geordnete Schreibvorgänge entsprechen einer Transaktion, und wir müssen zu diesem Zeitpunkt die Integrität dieser Transaktion sicherstellen.
Wenn zwei Programme gleichzeitig Daten in eine Datei schreiben, können wir eine Dateisperre hinzufügen und Programm 1 zuerst ausführen lassen, um die Integrität der Daten sicherzustellen. Entsperren Sie es und lassen Sie dann Programm 2 ausführen. Der Implementierungscode lautet wie folgt:
$fp = fopen('test.txt',"a"); $count = 10; if (flock($fp, LOCK_EX)) { for($i=1;$i<$count;$i++){ fwrite($fp, 'text2_'.$i."rn"); echo "test2".date('h:i:s') . " "; sleep(1); echo "test2".date('h:i:s'); } flock($fp , LOCK_UN); }else{ echo "Couldn't lock the file !"; } fclose($fp);
Weitere PHP-bezogene Kenntnisse finden Sie auf der PHP-Chinese-Website!
Das obige ist der detaillierte Inhalt vonMuss die PHP-Programmierung Sperren verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!