2009-07-21 54 views
4

2つのpthreadがmsgsnd()関数を同じ時間に呼び出して同じメッセージキューにメッセージを投稿した場合はどうなりますか?msgsnd()はスレッドおよび/またはプロセスセーフですか?

2つのプロセスが同じ場合はどうなりますか?それらがスレッドかプロセスかどうかは重要ですか?

Linuxの2.6.15-2.5#1 SMP PREEMPT火9月19日10時56分25秒CDT 2006 x86_64のx86_64でのx86_64のGNU/Linuxの

答えて

8

man page for pthreadsあなたが知りたいあなたに告げるために具体的に興味を持って:

スレッドセーフな機能とは、同時に複数のスレッドから呼び出されても安全に実行できる(つまり、その結果に関係なく同じ結果を返す)機能です。

POSIX.1-2001とPOSIX.1-2008標準で指定されたすべての関数はスレッドセーフでなければならない...

msgsndは、POSIXで定義された機能の中で、除外されていないことを要求しこの要件から。それが2つのスレッドか2つのプロセスかどうかは関係ありません。

関連する問題