91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php里面的文件鎖

發布時間:2020-06-21 12:13:27 來源:網絡 閱讀:346 作者:simuls 欄目:web開發

通過使用ab做并發執行的時候,發現庫存減少不一致,為什么呢?

答:主要是由于并發的時候,多個php程序去操作了同一個資源,這個時候造成資源的搶奪,數據不一致。為了解決這個問題,可以使用php里面的文件鎖來實現。在多個php程序操作某一個資源的時候,需要先去獲取這個鎖資源,只有獲取到鎖的程序才有權限去操作資源。當操作完成后,釋放鎖資源,使得別的程序能再次去搶奪鎖資源

    1.創建一把鎖,一個文本文件,隨意命名,lock.txt

     $key = fopen('lock.txt','r');

    do{

     $lockStatus = flock($key,LOCK_EX);//獲得鎖

     //為防止php占cpu不放

     usleep(50000);//0.05s

    }while(!$lockStatus);

     //搶到鎖的程序可以操作資源

    if($lockStatus){

     //為防止高并發,所有程序寫在這里即可

     //減一操作,多個程序去操作減一

     $sql   = "select * from kucun where goo_id =1";

     $res   = mysql_query($sql);

     $data  = mysql_fetch_assoc($res);

     $data['kucun']--;

     $sql   = "update kucun set kucun = " . $data['kucun'] . "where good_id = 1";

     mysql_query($sql);

     echo "庫存正在減少";

     flock($lockStatus,LOCK_UN);//釋放鎖

    }else{

     echo "系統繁忙!";

     }

     fclose($key);//關閉指向的文件

    

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潮安县| 榆中县| 翁牛特旗| 莱芜市| 介休市| 庄浪县| 平远县| 交口县| 醴陵市| 舟曲县| 玉山县| 汽车| 丹江口市| 离岛区| 鄂托克旗| 惠东县| 甘洛县| 都兰县| 万荣县| 六安市| 诸暨市| 潜江市| 慈利县| 安庆市| 连云港市| 大丰市| 内丘县| 扎囊县| 洪江市| 三河市| 弥勒县| 余干县| 宝鸡市| 汤原县| 太保市| 扬中市| 光山县| 商洛市| 黔西| 怀远县| 辉县市|