while循环&CPU占用100%的解决方法

最近遇到一个问题while true 的时候,CPU占用过高。使用

Thread.Sleep(10)

CPU一直居高不下,请教公司大佬说使用

ManualResetEvent

实测之后确实可以,之前开启4个程序之后CPU占用100%,现在开了7个仅仅占用了15%不到,今天又进步了。
分享一下使用方法。

   Private m_csWaitHandle As New ManualResetEvent(False)
   
    Private Sub MelsecPlCReade()

        While m_bolReadMelsecPlC
        ‘do something
            m_csWaitHandle.WaitOne(10)
        End While
    End Sub

瑞思拜

上一篇:C# 应用 - 多线程 6) 处理同步数据之手动同步 AutoResetEvent 和 ManualResetEvent


下一篇:ManualResetEvent线程信号Demo