放2個timer 控件是不是就有2個線程?
2個timer的時間設置的不一樣. 
我timer事件里都是調用同1個過程的. 
這樣是不是就衝突了.
如果用TThread 線程來做. 
做2個線程
是不是要在線程里 把同樣的過程 寫到2個線程里?

解决方案 »

  1.   

    timer控件是不占线程的,学过c++你就知道
    windows本身有一个API:SetTimer()
    用来添加一个timer。
    实际上timer控件只是对该API进行封装
    其原理是像系统注册一个timer,然后系统每隔一段时间(你设置的间隔时间)就向你的程序发送wm_timer消息
    程序收到该消息就执行你的timer过程。
    会不会冲突?我不大确定,没试过。
    不过从原理上看来是不会。
    因为当程序每次调用该过程的时候都会重新为该过程重新分配堆栈,所以局部变量不会冲突
    至于全局变量,因为程序应该每次都会在你的timer过程执行完之后再去响应下一个timer消息
    所以应该也不会
    但是如果担心冲突的话还是建议你用Thread
    线程的建立,只要两个线程建立的函数中引用相同的过程就可以了