• 締切済み

セマフォの使い方

マルチプロセスで1つのファイルのwrite/readに、 セマフォを使用したいと思います。 色々と載っているのですが、セマフォの書き方がいまいちよくわかりません。 どなたか簡単にプログラミングを教えて頂けませんでしょうか。

みんなの回答

  • rentahero
  • ベストアンサー率53% (182/342)
回答No.3

直前の質問でSIGTERMについて聞いているので、UNIX系かCygwinなどの環境かと思います。 セマフォを使うまでもなく、flock(2)で十分では?

参考URL:
http://www.linux.or.jp/JM/html/LDP_man-pages/man2/flock.2.html
  • floor101
  • ベストアンサー率28% (2/7)
回答No.2

単純なファイルの排他動作であれば、semaphoreの代わりにmutexを使えば十分な気がします。 semaphoreは、バッファの書き込みルーチンと、読み取りルーチンが別々のプロセスもしくはスレッドで動いているような場合、バッファのオーバーフローを防止するために、mutexにはないカウント値を使用できます。 通常、ファイルを単純に排他処理すると、使用目的にもよりますが、パフォーマンスが大幅に落ちてしまいますので、ファイルのロックを使用します。 LockFile系、LockFileEx系APIがそれに当たります。

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.1

こちらのサイトにセマフォに関するプログラミングの例がありますので、参考にしてください。

参考URL:
http://www.ncad.co.jp/~komata/c-frame.htm

関連するQ&A