多线程实时性好一些,另“响应用户操作”在OnTimer里做好象不妥

解决方案 »

  1.   

    实时性不要用OnTime,它的优先级好低,其实多线编程并不难,说透了,线程就是另外启动一个函数,不过线程的通信就要小心些!
      

  2.   

    多线程在单CPU的PC上虽然只能分享CPU的时间片,但是在一个线程从开始到完成的执行过程中,不是不停的使用CPU,他还可能使用到南桥、北桥、显卡、硬盘等等之类硬件中的芯片,比如当他使用南桥时,CPU可能就空闲着,造成资源的浪费;而使用多线程,这时,另一个线程可以马上使用CPU,而当第一个线程使用CPU时,第二个线程可以使用南桥之类的芯片。使多个线程并发执行。
      

  3.   

    我也做过,也是串口的,和你一样的东西
    可是我没有用Timer,你确实可以用多线程来实现,我是这样做的while(true)
    {
    读串口;
    当读到特定标志字符时
    {
    转到另一线程(B)
    }
    sleep(2);//只要sleep(1)就可以使cpu的使用率降至20%了
    }
    ________________________
    在另一线程中,先把读取的数据写入自动生成的文件作为数据备份,
    然后再转到第三个线程去向数据库存取。
      

  4.   

    guanjinke:你上面所讲问题有点似太聪明以致于系一地小方面出错,如果你系用多线程来控制程序运行的话,因为多线程有互斥与同步等特性,运用好这些特性从而就可以很好控制程序的运行控制;
    假如采用计时器的话,虽然能够有点似多线程甘样运行,但从程序运行控制上就绝对无多线程方便和有效。广州的wealth
      

  5.   

    接上一条
    而用OnTimer()函数,比如你设置2秒执行一次,在二秒未到时,就是所有的芯片都不使用,第二个工作也不能使用任何资源。