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