mq_send和MsgSend的同步问题

请问论坛各位,
如果现在有N个线程同时调用mq_send或MsgSend向另一线程发送消息,我需要在这N个线程中在发送消息前加入同步代码吗?如下的伪代码所示,

Enter Crtical Section

mq_send(…)/MsgSend(…)

Leave Critical Section

谢谢

教你一个办法,如何判断 "xx 函数是不是需要同步”。可以去QNX的文档,查你想要找的函数,在函数解说的最后会有一个"Safety"表,告诉你这个函数在哪里用是安全的。如果一个函数是Thread Safe的,就说明它不需要同步(可重入)。

所以mq_send是不需要同步的。

当然这只是就函数本身而言。如果你的程序里,比如有两个线程都会读写 mq_send()所发送的数据区,那你当然需要自行加同步保护…