从多个线程同时在NetworkStream上使用WriteAsync是否安全?

时间:2013-05-11 13:23:43

标签: c# .net .net-4.0

TcpClient在多个线程中使用stream并在每个线程上执行WriteAsync。它是线程安全的吗?将数据(传递给write方法的字节数组)作为传递给WriteAsync

的完整chunc传递

1 个答案:

答案 0 :(得分:3)

不,这不安全。

来自MSDN under Remarks

  

读取和写入操作可以同时执行   不需要NetworkStream类的实例   同步。只要有一个唯一的写入线程   操作和一个唯一的线程用于读取操作,会有   读写线程之间没有交叉干扰,没有   同步是必需的。

因此,当您有多个写入线程时,您需要同步它们。

相关问题