人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: NANAME000
●カテゴリ:コンピュータ
✍キーワード:PHP セマフォ ブロック プロセス マニュアル
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● azumi1975
●0ポイント

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

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

◎質問者からの返答

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


2 ● kn1967
●70ポイント ベストアンサー

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

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

shm_attachが便利。


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

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

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

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ