電子書籍の厳選無料作品が豊富!

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

A 回答 (3件)

直前の質問でSIGTERMについて聞いているので、UNIX系かCygwinなどの環境かと思います。



セマフォを使うまでもなく、flock(2)で十分では?

参考URL:http://www.linux.or.jp/JM/html/LDP_man-pages/man …
    • good
    • 0

単純なファイルの排他動作であれば、semaphoreの代わりにmutexを使えば十分な気がします。



semaphoreは、バッファの書き込みルーチンと、読み取りルーチンが別々のプロセスもしくはスレッドで動いているような場合、バッファのオーバーフローを防止するために、mutexにはないカウント値を使用できます。

通常、ファイルを単純に排他処理すると、使用目的にもよりますが、パフォーマンスが大幅に落ちてしまいますので、ファイルのロックを使用します。
LockFile系、LockFileEx系APIがそれに当たります。
    • good
    • 0

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



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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!