【发布时间】:2016-05-26 11:39:40
【问题描述】:
我有一个套接字,我在一个线程中接收和发送。但是,还有另一个线程可以定期使用套接字发送数据。目前,我正在使用共享对象来锁定我的Socket.send() 操作。这个锁有必要吗?如果是,即使我只从一个线程接收,我是否也需要锁定我的接收方法?
例如在 Thread1 中:
//...some code
while (offset< len)
{
currentBytesRead += Client.Receive(buf, offset, len - offset, SocketFlags.None);
}
//...some more code...
lock (lockObject)
{
Client.Send(outputByte);
}
在线程 2 中:
lock (lockObject)
{
Client.Send(outputByte);
}
【问题讨论】:
标签: c# multithreading sockets