我建立一个线程,读取串口数据,其中里面的一段代码如下:
while(true)
{
  getComChar();
  ......
}有一问题很迷茫,不管串口是否有数据,都要一直读取吗?有没有效率更高的办法?

解决方案 »

  1.   

    這樣處理速度才比較快!!
    正常, 單獨做一個串口通信的線程, 
    在線程用同步方式, 
    也就是說, 用
    readFile(...) 一直等待數據, 這樣, 數據一到, 馬上就可反應處理了!
      

  2.   

    通过CraeteEvent()创建事件对象,使用SetEvent()或PulseEvent()函数将事件对象设置成信号同步。在应用程序中,利用WaitSingleObject()函数等待同步的触发,等到指定的事件被其它线程设置为有信号时,才继续向下执行程序。