C言語なら俺に聞け(入門編)Part 126
■ このスレッドは過去ログ倉庫に格納されています
0551デフォルトの名無しさん
2014/10/11(土) 15:38:34.99ID:Ym4Peb6Eそこまで>>549がプロセス間の同期/排他制御にも POSIX セマフォを使いたいのなら、
>>549 は POSIX セマフォを何の疑いも無く使い続けていればいいんじゃないかな?
(スレッド間ではなく)プロセス間で POSIX セマフォを使った場合に起こる問題については
以下で解説されているので、もしその気になったなら読めばいいと思うよ
・unix - Differences between System V and Posix semaphores - Stack Overflow
http://stackoverflow.com/questions/368322/differences-between-system-v-and-posix-semaphores
問題に触れているのは、11番の "Two major problems with POSIX shared/named semaphores" で始まるレスだ
というか、>>543の後半で書いたように、今回のファイルの排他制御という質問(>>532)に対して、
セマフォを使うという発想そのものが「UNIX では」不適切である可能性が高い
質問者である >>532 には「セマフォは一時置いといて、代わりにファイルロック/FIFO/ソケットを使う検討に
着手した方が、期待した最終的なゴールへより早く辿り着けるはずだ」と伝えたい
Windows であればファイルオブジェクトの排他制御にセマフォを使うのは常識だし、
それどころかプロセスは重いからありとあらゆる並行処理にスレッドを使う
それに対して UNIX だとプロセスは比較的軽いので、メモリ保護され実装も容易なプロセスが多用される
ここら辺の差異は、Windows プログラマが UNIX プログラミングを始めた時、最初にとまどう箇所になる
(逆に UNIX プログラマはありとあらゆる並行処理にスレッドを使わざるをえない Windows にとまどう....)
>>532 は UNIX の IPC(プロセス間通信)技術について一通り勉強しておいたほうが、今後の役に立つと思う
■ このスレッドは過去ログ倉庫に格納されています