我正在使用StreamReader从TcpSocket读取,并使用StreamWriter写入该TcpSocket。我想将读取代码放在一个线程中,将编写代码放在另一个线程中。如何以线程安全的方式执行此操作?
如果我执行以下操作,那么我想在很多情况下会阻止编写器线程:
lock (tcpClient) {
streamReader.ReadLine();
}
这是作家代码:
lock (tcpClient) {
streamWriter.WriteLine(line);
}
答案 0 :(得分:3)
在一个线程上发送并在另一个线程上接收是安全的。
所以你可以在一个帖子中做到这一点:
streamReader.ReadLine();
这是另一个主题:
streamWriter.WriteLine(line);
无需锁定tcpClient
。