NamePipeClientStream的并发读写

4
我在应用程序中有一个NamedPipeClientStream实例,它已设置为双向通信(PipeDirection.InOut)。我还有两个线程,一个读线程和一个写线程。
我希望读线程只调用NamedPipeClientStream.Read方法,写线程只调用NamedPipeClientStream.Write方法。他们永远不会调用对方的方法,但他们可能同时对管道实例进行调用。
我查看了NamedPipeClientStream的文档,并得知公共静态方法是线程安全的,但不能保证实例方法是线程安全的。
我的问题是,如果我有两个线程同时调用管道实例的两个不同方法(Read和Write),这样安全吗?或者说实例方法的线程安全性只适用于单独的线程调用相同的方法,而不是单独的线程调用不同的方法(如Read和Write)?
谢谢!
1个回答

6

没问题。 PipeStream.Read和Write直接调用本地的Windows API,ReadFile和WriteFile是线程安全的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接