最近我刚刚接触多线程,我要利用线程对串口的实时数据进行监测,也就是说以来数据信号就进行处理,那应该把代码放在哪里呢?是timer里吗?那样就可以不用线程这么费劲了,是不是有什么其他的办法?

解决方案 »

  1.   

    可以用timer而不用线程,比较简单,对于初学者比较不错;用线程的话那肯定是在执行里,得用工夫学,比较容易出错。书上这方面比较多。
      

  2.   

    但是如果你的程序的优先级不是很高的话,你的TIMEER事件可能不能及时响应,会丢失数据,
    建议你采用线程,并将线程的优先级设置为最高
    具体的代码你可以参考一下SPCOMM这个控件,它就是支持多线程的
    要SPCOMM的话,去google一下吧
      

  3.   

    我用的是MScomm控件,那代码写在什么地方呢?
      

  4.   

    我原来的程序是用Timer写的,执行起来屏幕老闪烁,而且其他操作执行起来很不好,所以我要用线程。但如果再用timer调用线程的话,那和不用线程的效果是一样的。我想不明白在什么地方调用线程。
      

  5.   

    用timer的时候注意,在执行的时候加上
     Application.ProcessMessages;
      

  6.   

    to Delphi混混:为什么要加这条语句?我还是不明白在什么时候调用线程。