2 つの pthread が "同時に" msgsnd() 関数を呼び出して、メッセージを同じメッセージ キューに投稿するとどうなりますか?
2 つのプロセスが同じことをするとどうなりますか? それらがスレッドであるかプロセスであるかは重要ですか?
特に Linux 2.6.15-2.5 に興味がある #1 SMP PREEMPT Tue Sep 19 10:56:25 CDT 2006 x86_64 x86_64 x86_64 GNU/Linux
2 つの pthread が "同時に" msgsnd() 関数を呼び出して、メッセージを同じメッセージ キューに投稿するとどうなりますか?
2 つのプロセスが同じことをするとどうなりますか? それらがスレッドであるかプロセスであるかは重要ですか?
特に Linux 2.6.15-2.5 に興味がある #1 SMP PREEMPT Tue Sep 19 10:56:25 CDT 2006 x86_64 x86_64 x86_64 GNU/Linux
pthreadsのman ページには、知りたいことが記載されています。
スレッドセーフな関数とは、複数のスレッドから同時に安全に呼び出すことができる (つまり、呼び出しの有無に関係なく同じ結果を返す) 関数です。
POSIX.1-2001 および POSIX.1-2008 では、標準で指定されているすべての関数がスレッドセーフである必要があります...
msgsnd
は POSIX で定義された関数の 1 つであり、この要件から除外されていません。2 スレッドか 2 プロセスかは関係ありません。