php method to implement blocking: first open or create the file [lock.txt] in read-write mode; then apply [exclusive lock] to the [lock.txt] file; finally, after processing the data, [release lock] and fclose to close the open file.
The operating environment of this tutorial: Windows 7 system, PHP version 5.6, DELL G3 computer. This method is suitable for all brands of computers.
How to implement blocking in php:
1. First, open or create the file lock.txt file in read-write mode
2. Give lock. txt file. After the lock is successful, you can proceed to the next step of "processing the order product data"
3. After processing the data, you must "release the lock" and fclose the open file
Note: After giving the file an "exclusive lock", if there is no "release lock" inside, there will be a very stuck situation
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'; }
Note: It is feasible for small concurrency, and the performance will not improve Big impact. It is better if the concurrency is less than 500. If it is too high, it is recommended to use queue mode.
Related free learning recommendations: php programming(Video)
The above is the detailed content of How to implement blocking in php. For more information, please follow other related articles on the PHP Chinese website!