我们在监听客户端信息时,一般会使用while(true)的方式来循环监听。
当客户端没有发送消息,这时就造成了cpu的开销浪费
为了解决这个问题,可以在循环中添加判断,判断是否有消息被送过来,如果没有则休眠一段时间。
eg:
while (true) //循环从客户端获取信息
{
//没有访问连接时,进程休眠
if (null == clientSocketList || clientSocketList.Count== 0)
{
Thread.Sleep(500);
}
else
{
//处理请求
}
}