CallNamedPipe是否在Windows线程上安全

时间:2015-05-17 08:00:55

标签: windows concurrency thread-safety named-pipes

有几个线程同时调用CallNamedPipe来向同一个命名管道发送消息。在Windows线程上的方法CallNamedPipe是否安全,我应该使用互斥锁来保护对同一命名管道的并发访问吗?

1 个答案:

答案 0 :(得分:2)

是的,它本身就是线程安全的,因为它不会使用句柄,缓冲区或客户端上的其他任何东西,这两个(或多个)线程可能会同时尝试访问。每次调用CallNamedPipe时,它都会打开命名管道的新实例,发送消息并关闭句柄。

(线程同时访问同一命名管道的不同实例的事实并不是问题。它与同时访问同一命名管道的不同实例的多个进程没有什么不同,如果没有& #39;允许使用命名管道的效果远不如它们。)