有多个线程同时调用 CallNamedPipe 以将消息发送到同一命名管道。 windows上的CallNamedPipe方法线程安全吗,我应该使用互斥锁来保护对同一命名管道的并发访问吗?
最佳答案
是的,它本质上是线程安全的,因为它不使用句柄、缓冲区或客户端上两个(或更多)线程可能尝试同时访问的任何其他内容。每次调用 CallNamedPipe 时,它都会打开命名管道的新实例、发送消息并关闭句柄。
(线程同时访问同一命名管道的不同实例这一事实并不是问题。这与多个进程同时访问同一命名管道的不同实例没有什么不同,如果不允许命名管道的话会比它们有用得多。)
关于windows - Windows 上的 CallNamedPipe 线程安全吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30284666/