C# 窗体同时使用两个timer的同步问题

时间:2021-10-27 21:29:45
  求教 一个窗体程序,两个timer控制每隔一段时间分别执行不同的功能;这两个timer可以像线程一样同步吗?还是有先后顺序的?
 假如timer1每一个小时执行一次,timer2每隔5分钟执行一次!

13 个解决方案

#1


自己可以控制两个Timer的处理关系,看你的应用需求而定.

#2


可以实现

#3


你也可以找一个公约数用一个timer分析计算,

#4


各做各的,分开的,可以实现

#5


针对timer1每一个小时执行一次,timer2每隔5分钟执行一次! 如何实现? 请教

#6


引用 5 楼 skyctr 的回复:
针对timer1每一个小时执行一次,timer2每隔5分钟执行一次! 如何实现? 请教


不相信这种问题也问?

#7


我知道是设置:timer1.Interval = 60000*60;timer2.Interval 5*60000;
不过我不清楚 这两个时间器的事件会像线程一样同步吗

#8


可以给Timer设置触发事件的时间不一样就行了,如果 要控制也可以把他它写到数据进而动太的改也是可以的

#9


能够实现

#10


好像不会是两个线程,都是占用主线程的资源。

#11


如果连个事件没有必要的先后顺序可以这样循环timer

#12


好像不行,我有两个timer都是相隔几秒定时。现在出现timer1执行不完timer2不会执行的情况,不如线程那样方便,这样好像系统容易假死

#13


如果你是用工具箱上面的控件的timer,那时间是不能精确控制的,因为它是基于主线程,就是你的窗体线程.
想要实现你这样的定时功能,用 System.Threading.Timer.

#1


自己可以控制两个Timer的处理关系,看你的应用需求而定.

#2


可以实现

#3


你也可以找一个公约数用一个timer分析计算,

#4


各做各的,分开的,可以实现

#5


针对timer1每一个小时执行一次,timer2每隔5分钟执行一次! 如何实现? 请教

#6


引用 5 楼 skyctr 的回复:
针对timer1每一个小时执行一次,timer2每隔5分钟执行一次! 如何实现? 请教


不相信这种问题也问?

#7


我知道是设置:timer1.Interval = 60000*60;timer2.Interval 5*60000;
不过我不清楚 这两个时间器的事件会像线程一样同步吗

#8


可以给Timer设置触发事件的时间不一样就行了,如果 要控制也可以把他它写到数据进而动太的改也是可以的

#9


能够实现

#10


好像不会是两个线程,都是占用主线程的资源。

#11


如果连个事件没有必要的先后顺序可以这样循环timer

#12


好像不行,我有两个timer都是相隔几秒定时。现在出现timer1执行不完timer2不会执行的情况,不如线程那样方便,这样好像系统容易假死

#13


如果你是用工具箱上面的控件的timer,那时间是不能精确控制的,因为它是基于主线程,就是你的窗体线程.
想要实现你这样的定时功能,用 System.Threading.Timer.