标签: c# .net .net-4.0
让TcpClient在多个线程中使用stream并在每个线程上执行WriteAsync。它是线程安全的吗?将数据(传递给write方法的字节数组)作为传递给WriteAsync
TcpClient
stream
WriteAsync
答案 0 :(得分:3)
不,这不安全。
来自MSDN under Remarks:
读取和写入操作可以同时执行 不需要NetworkStream类的实例 同步。只要有一个唯一的写入线程 操作和一个唯一的线程用于读取操作,会有 读写线程之间没有交叉干扰,没有 同步是必需的。
因此,当您有多个写入线程时,您需要同步它们。