c#NetworkStream write()和read()

muk*_*kai 5 c# networkstream tcpclient

我想知道如何阻止Networkstream.Read()阻塞线程.我有单独的线程在哪里NetworkStream.Read()等待来自服务器的数据.假设用户按下一些向服务器发送一些数据的按钮.但是在其他线程中等待数据NetworkStream.Write()时我无法调用NetworkStream.Read().我可以NetworkStream每次锁定但是NetworkStream.Read()会阻塞线程,所以在读取至少1个字节之前我不能发送数据.

小智 7

您可以发出两种read,并write为在文档中阐明的同时MSDN文档

可以在NetworkStream类的实例上同时执行读写操作,而无需同步.只要有一个用于写操作的唯一线程和一个用于读操作的唯一线程,读写线程之间就不会存在交叉干扰,也不需要同步.