複数のプロセスで使用される共有メモリを作成しようとしています。MPIこれらのプロセスは、呼び出し ( MPI_Send、 )を使用して相互に通信しますMPI_Recv。
この共有メモリへのアクセスを制御するメカニズムが必要です。MPI がそれを行うための機能を提供しているかどうかを確認するために、昨日質問を追加しました。MPI で作成されたプロセスの共有メモリ アクセス制御メカニズムですが、MPIではそのような規定はないようです。
したがって、named semaphoreまたはのいずれかを選択する必要がありますflock。
名前付きセマフォの場合、いずれかのプロセスが を呼び出さずに突然停止した場合sem_cloe()、そのセマフォは常に残り、 から見ることができますll /dev/shm/。これにより、デッドロックが発生することがあります (同じコードを再度実行すると!)。このため、現在 flock を使用することを考えています。
flockがこのタイプの操作に最適かどうかを確認したいだけですか?
を使用することの欠点はありflockますか?
named semaphoreand以外にflockここで使用できるものはありますか?
LinuxでCを使用しています。