我是靠谱客的博主 简单奇异果,这篇文章主要介绍php3.2 并发加锁,thinkphp3.2文件锁解决并发的一种办法,现在分享给大家,希望可以做个参考。

namespace appindexcontroller;

use thinkController;

use thinkCache;

class Index extends Controller

{

/**

* 首页

* */

public function index(){

$fp = fopen("lock.txt", "w+");

if(flock($fp,LOCK_EX))   //锁定当前指针,,,

{

//..处理订单

$stock = $this->findStock();

if($stock > 0){

$this->setDec();

}else{

return '抢购失败';

}

return $stock;

flock($fp,LOCK_UN);

}

fclose($fp);

}

/**

* 查询数据库库存

* */

public function findStock(){

$res = db('info')->where('id',1)->field('stock')->lock(true)->find();

return $res['stock'];

}

/**

* 减少库存操作

* */

public function setDec(){

$res = db('info')->where('id',1)->setDec('stock',1);

return $res;

}

}

最后

以上就是简单奇异果最近收集整理的关于php3.2 并发加锁,thinkphp3.2文件锁解决并发的一种办法的全部内容,更多相关php3.2内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部