概述
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 并发加锁,thinkphp3.2文件锁解决并发的一种办法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复