国产精品成人VA在线观看,亚洲日韩在线中文字幕综合,亚洲AV电影天堂男人的天堂,久久人人爽人人爽人人av东京热

News新聞

業(yè)界新聞動(dòng)態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁      樂道系統(tǒng)FAQ      PHP 文件鎖與進(jìn)程鎖的使用示例

PHP 文件鎖與進(jìn)程鎖的使用示例

標(biāo)簽: 發(fā)布日期:2017-08-07 00:00:00 250

鑒于前面介紹了swoole,就借用swoole的服務(wù)器/客戶端與多進(jìn)程機(jī)制對(duì)鎖進(jìn)行說明.

這里只針對(duì)PHP的鎖機(jī)制進(jìn)行說明,由于SQL的鎖與其作用方式和應(yīng)用場景不同,將作另行說明.

1.文件鎖

  • flock()
  • fclose()
  • swoole_lock()

文件鎖的可能應(yīng)用場景為:

1.限制并發(fā)多進(jìn)程或多臺(tái)服務(wù)器需要對(duì)同一文件進(jìn)行訪問和修改;

2.對(duì)參與文件I/O的進(jìn)程隊(duì)列化和人為阻塞;

3.在業(yè)務(wù)邏輯中對(duì)文件內(nèi)容進(jìn)行守護(hù);

下面是文件鎖C/S通訊機(jī)制下的使用,已經(jīng)省略了具體的通訊過程

Server(服務(wù)器通訊過程已略):

//監(jiān)聽數(shù)據(jù)發(fā)送事件
$serv->on('receive', function ($serv, $fd, $from_id, $data) {
  $serv->send($fd, "ServerEnd");

  $p_file = "locktest.txt";
  var_dump(file_get_contents($p_file));
});