Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当TcpClient将其stream纳入多个线程并WriteAsync在每个线程上执行时。它是线程安全的吗?将数据(传递给 write 方法的字节数组)作为完整的块传递给WriteAsync
TcpClient
stream
WriteAsync
不,这不安全。
来自MSDN 下的备注:
可以在 NetworkStream 类的实例上同时执行读取和写入操作,而无需同步。只要写操作有一个唯一线程,读操作有一个唯一线程,读写线程之间就不会发生交叉干扰,也不需要同步。
因此,当您有多个写入线程时,您需要同步这些线程。