PHPでの共有メモリに関する質問です。

セマフォを利用して排他制御を行いながら共有メモリを操作しようと思っています。
調べてみるとshm_attachとshmop_openという関数があり、どういう違いがあるのか知りたいです。
共有メモリセグメントの作成と共有メモリブロックの作成という違いがあることまではマニュアルを読んで分かったのですが、共有メモリセグメントも共有メモリブロックも分かりません。そもそも共有メモリについてあまり理解していません。
やりたいことは複数のプロセス間で変数を共有することです。具体的には数値を共有してセマフォで排他制御しながらその数値をインクリメントするつもりです。

どちらの関数を使えばいいのか判断出来るような資料の提示(もしくは説明)をお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2009/12/16 07:29:20
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:kn1967 No.2

回答回数2915ベストアンサー獲得回数301

ポイント70pt

php同士でやり取りする場合などであれば、

ブロックの内部構造まで考えなくても済むので、

shm_attachが便利。


読み書きがやや面倒になるので、php同士での通信では少し不便。

他の処理系とやり取りする場合であれば、

shmop_openのほうが逆に扱いやすい。

id:NANAME000

なるほどそういうことなのですね。ありがとうございます。

2009/12/16 07:27:40

その他の回答1件)

id:azumi1975 No.1

回答回数337ベストアンサー獲得回数16

http://phpspot.net/php/man/php/shmop.examples-basic.html

サンプルソースがここにあります。

id:NANAME000

すいません両方の関数の比較などだとありがたいのですが・・。

2009/12/16 07:26:57
id:kn1967 No.2

回答回数2915ベストアンサー獲得回数301ここでベストアンサー

ポイント70pt

php同士でやり取りする場合などであれば、

ブロックの内部構造まで考えなくても済むので、

shm_attachが便利。


読み書きがやや面倒になるので、php同士での通信では少し不便。

他の処理系とやり取りする場合であれば、

shmop_openのほうが逆に扱いやすい。

id:NANAME000

なるほどそういうことなのですね。ありがとうございます。

2009/12/16 07:27:40

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません