我是靠谱客的博主 简单奇异果,最近开发中收集的这篇文章主要介绍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 并发加锁,thinkphp3.2文件锁解决并发的一种办法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部