Dieser Artikel führt Sie in die Anwendung des Sperrmechanismus in PHP ein. Er hat einen guten Referenzwert und ich hoffe, er kann Freunden in Not helfen.
Lösen Sie die Situation hoher Parallelität und negativem Inventar
Wenn andere Prozesse die Datei gesperrt haben, wartet der aktuelle Prozess Für immer Ausführung fortsetzen, nachdem andere Prozesse die Datei entsperrt haben
flock($fp, LOCK_EX) // 文件锁
Wenn andere Prozesse die Datei gesperrt haben, wartet der aktuelle Prozess nicht auf andere Prozesse zum Entsperren der Datei und direkt Zurück>, d 🎜> und
einfach ändern, alles andere ist gleich<?php $fp = fopen('lock.txt', 'r'); if( flock($fp, LOCK_EX) ){ // flock($fp,LOCK_EX | LOCK_NB) $info = D()->query('SELECT surplus_total_num FROM tb_product WHERE id=1 LIMIT 1'); if( $info['surplus_total_num'] > 0 ){ D()->execute('UPDATE tb_product SET surplus_total_num = surplus_total_num - 1 WHERE id=1'); $isSurplusProduct = 1; }else{ $isSurplusProduct = 0; } flock($fp, LOCK_UN); } fclose($fp); if( !$isSurplusProduct ) exit('已经没有产品了');
flock($fp,LOCK_EX | LOCK_NB) // 文件锁
Parallelitätstestflock($fp, LOCK_EX)
flock($fp,LOCK_EX | LOCK_NB)
So verwenden Sie PHP, um Bilder in gleichen Anteilen zu komprimieren
ab -c 20 -n 1000 http://www.test.com/test.php
Das obige ist der detaillierte Inhalt vonAnwendung des Sperrmechanismus in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!