msgsnd()线程和/或进程安全吗?

CsT*_*mas 4 linux multithreading message-queue

如果两个pthreads在"相同"时间调用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

Chr*_*uin 8

pthreads手册页告诉你你想知道什么:

线程安全功能是一种可以安全地(即,它将提供相同的结果,无论是否)同时从多个线程调用的功能.

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

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