セマフォ関数
PHP Manual

sem_get

(PHP 4, PHP 5)

sem_getセマフォ ID を得る

説明

resource sem_get ( int $key [, int $max_acquire = 1 [, int $perm = 0666 [, int $auto_release = 1 ]]] )

sem_get() は、 System V セマフォを指定したキーでアクセスするために使用可能な ID を返します。

同じキーで sem_get() を 2 度コールした場合、 別のセマフォ ID が返されます。 しかし、どちらの ID も同じそのセマフォをアクセスします。

パラメータ

key

max_acquire

同時にセマフォを得ることが可能なプロセス数を max_acquire にセットします。

perm

セマフォのパーミッション。 実際には、この値はプロセスが現在そのセマフォに付随している 唯一のプロセスであることがわかった場合にのみセットされます。

auto_release

リクエストの終了時に自動的にセマフォを開放するかどうかを指定します。

返り値

成功した場合に正のセマフォ ID、エラー時には FALSE を返します。

変更履歴

バージョン 説明
4.3.0 auto_release が追加されました。

注意

警告

PHP 以外のところで作られたセマフォに sem_get() でアクセスするときには、 3 つのセマフォのセットとして作ったものでなければいけないことに注意しましょう (たとえば、C の semget() 関数で作るなら、nsems に 3 を指定します)。 そうしないと、PHP からそのセマフォにアクセスできなくなります。

参考


セマフォ関数
PHP Manual