确定吗?我以为第二个timer事件应该等待第一个timer事件执行完采进来

解决方案 »

  1.   

    VB 是单线程的,你说的交叉问题不会发生,但如果你在getdata过程中放入DoEvents或类似的函数,交叉问题就会存在!
      

  2.   

    据我所知,Timer是不会出现交叉现象的。
    不信把Timer的Interval 设置成1,然后再它的Timer事件中加上非常耗费CPU的算法,它不把这个算法摆平是不会再触发Timer事件的。
      

  3.   

    还有,VB.Net 的 Timer 会风雨无阻地执行 Tick 事件,也就是VB6.0的Timer事件,所以用.Net有可能出现交叉现象(个人意见,未经证实)。
      

  4.   

    现在我再思考了一下 wwangzhihang 提出的问题,发现这种情况也有可能发生,问题不在Timer,而在于Timer是不是认为它做完了那个事件,如private sub timer1_timer()
     action
    end sub 如果 Timer 开始了Action 动作,并认为它已经成功完成,它便会进行下一轮循环,如果 Timer 认为它完成了 Action 动作而 Action 仍然在进行就会发生交叉现象。