ホームページ  >  記事  >  バックエンド開発  >  PHP同期ソリューション

PHP同期ソリューション

WBOY
WBOYオリジナル
2016-06-23 14:31:121514ブラウズ

はじめに: これは PHP 同期ソリューションの詳細ページであり、PHP、PHP PHP 同期ソリューションに関連する知識、スキル、経験、および一部の PHP ソース コードを紹介します。

class='pingjiaF' Frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=356624'scroll='no'> mysqlによると、PHPの同期実行はかなり面倒です。ドキュメント、次のようになります。


============================================== === ================
GET_LOCK(str,timeout)
timeout 秒のタイムアウトで、文字列 str で指定された名前を使用してロックの取得を試みます。ロックが正常に取得された場合は 1、操作がタイムアウトした場合 (たとえば、別のクライアントが事前に名前をブロックしたため) は 0、エラーが発生した場合 (メモリ不足またはスレッド mysqladmin kill が切断された場合など) は NULL を返します。 。 GET_LOCK()でロックを取得している場合は、RELEASE_LOCK()を実行するか、接続が切断される(正常または異常)ときにロックが解除されます。

この関数は、アプリケーションのロックを実行したり、レコードのロックをシミュレートしたりするために使用できます。名前はサーバーのスコープ内でロックされます。名前がクライアントによってすでにブロックされている場合、GET_LOCK() は別のクライアントからの同じ名前をブロックするリクエストをブロックします。これにより、ロック名に同意したクライアントは、その名前を使用して勧告ロックを実行する際に協力できるようになります。ただし、連携クライアントのグループに属していないクライアントも、サービス中または意図せずに名前をブロックできるため、連携クライアントが名前をブロックできないことに注意してください。この状況の発生を減らす 1 つの方法は、データベース固有またはアプリケーション固有のブロック名を使用することです。たとえば、db_name.str または app_name.str の形式のブロック名を使用します。


============================================== === ================

ファイルがユーザーによって同時にアクセスされることを望まず、順番にのみアクセスできる場合、

ファイル a.php がそうでない場合2 人のユーザーが同時にアクセスしたい場合、アクセスをリクエストするには:

$db = getdb();// データベース接続を取得します。

$db->query('do get_locak');

Love J2EE Java Michael Jackson Video Station JSON オンライン ツールをフォローしてください

http://biancheng.dnbcw.info/php/356624.html ページ番号: 2
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。