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);
        }
    }

C# UDP 侦听器线程 -- 不要使用 while(true) 刻录 CPU

ReceiveFrom正在阻塞。线程将挂起,直到数据到达。除非Socket处于非阻塞模式。