4

如果两个 pthread 在“同一”时间调用 msgsnd() 函数,将消息发布到同一个消息队列,会发生什么?

如果两个进程做同样的事情怎么办?它们是线程还是进程有关系吗?

对 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 特别感兴趣

4

1 回答 1

8

pthreads的手册页告诉您您想知道的内容:

线程安全函数是一个可以从多个线程同时被安全调用的函数(即,无论是否被调用,它都会提供相同的结果)。

POSIX.1-2001 和 POSIX.1-2008 要求标准中指定的所有函数都应该是线程安全的……

msgsnd是 POSIX 定义的函数之一,不排除在此要求之外。不管是两个线程还是两个进程。

于 2009-07-21T14:00:02.693 回答