如果两个 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 特别感兴趣
如果两个 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 特别感兴趣
pthreads的手册页告诉您您想知道的内容:
线程安全函数是一个可以从多个线程同时被安全调用的函数(即,无论是否被调用,它都会提供相同的结果)。
POSIX.1-2001 和 POSIX.1-2008 要求标准中指定的所有函数都应该是线程安全的……
msgsnd
是 POSIX 定义的函数之一,不排除在此要求之外。不管是两个线程还是两个进程。