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

时间:2009-07-21 12:31:34

标签: 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

1 个答案:

答案 0 :(得分:8)

man page for pthreads告诉您您想知道的内容:

  

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

     

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

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