C# UDP 侦听器线程 -- 不要使用 while(true) 刻录 CPU
本文关键字:while true CPU 刻录 侦听器 UDP 线程 | 更新日期: 2023-09-27 17:48:55
使用以下代码,有没有比Thread.Sleep(10)
while(true)
更好的方法来设置 UDP 侦听?
public void Start()
{
socket.Bind(ip);
while (true)
{
data = new byte[1024];
receivedDataLength = socket.ReceiveFrom(data, ref Remote);
raw = Encoding.ASCII.GetString(data, 0, receivedDataLength);
row = new LogRow(raw);
//Console.WriteLine(row.ClientIp);
row_queue.Enqueue(row);
Thread.Sleep(10);
}
}
ReceiveFrom
正在阻塞。线程将挂起,直到数据到达。除非Socket
处于非阻塞模式。