php如何实现阻塞
php实现阻塞的方法:首先读写方式打开或者创建文件【lock.txt】文件;然后给【lock.txt】文件上【独占锁】;最后处理完数据后,要【释放锁】以及fclose关闭打开的文件。
本教程操作环境:windows7系统、PHP5.6版,DELL G3电脑,该方法适用于所有品牌电脑。
php实现阻塞的方法:
1、首先,读写方式打开或者创建文件lock.txt文件
2、给lock.txt文件上 "独占锁",上锁成功后就可以进行下一步"处理订单商品数据了"
3、处理完数据后,要"释放锁”,以及fclose关闭打开的文件
注意:给文件“独占锁”后,如果再没有里面的“释放锁”,会出现非常卡的情况
public function index(){ $fp = fopen("lock.txt", "w+"); if(flock($fp,LOCK_EX)) { $find=Db::name('user')->where('username','name2')->find(); if($find){ $data['username']='name3'; $data['password']=''; $data['password_m']=''; Db::name('user')->insert($data); }else{ $data['username']='name2'; $data['password']=''; $data['password_m']=''; Db::name('user')->insert($data); } flock($fp,LOCK_UN); } fclose($fp); return 'success'; }
注意:对于小并发可行,而且性能不会出现大的影响。并发小于500较好,如果过高的话,建议使用队列模式。
相关免费学习推荐:php编程(视频)