c#多个定时器问题

时间:2022-02-11 00:11:52
我在代码中使用了多个定时器,但是程序运行时,有两个定时器是冲突的,他们之间有一个在工作,另一个就不能工作,为什么?c#可以多个定时器同时工作吗?

9 个解决方案

#1


可以同时的
虽然CPU级别,不一定是同时的
但在你肉眼里,应该还算同时

c#多个定时器问题

#2


一个计时器,多个计数器,计数操作多线程比较好。否则冲突都不好找

#3


lz 可以把代码贴出来 看看

#4


定时器有3种,其中System.Windows.Forms命名空间下面的定时器,其定时执行的代码是在当前窗口所在线程即主线程中执行的,会阻塞其它定时器的执行。

#5


代码不好贴,公司没网络。
具体来讲,是这样的。我这里有三个任务,1.将三张图片合成一张图片 2.在原来的三张图片和合成的图片上叠加信息 3.上传这些图片。
我用了三个定时器,但是发现一个时间只有一个定时器是工作的,其他的都阻塞了。而且合并图片和叠加信息的函数需要的时间太长了,效率低。
请大家帮帮忙,有什么建议意见都说出来。

#6


还是说用多线程?多线程的话会阻塞吗?不是说定时器也是多线程吗?

#7


和定时器无关吧,应该是你的代码有Bug

#8


不会吧?我的代码很简单的,就是用g.drawstring(),drawImage()这些函数啊,没什么复杂的啊。
多线程和定时器有什么区别?用多线程可以吗?

#9


在代码中 使用锁机制或者手动通过设置timer.Enabled来启动和关闭定时器
比如: 参考
貌似最好是使用锁(简单实用) 但是我实验了没有撞门而入.

#1


可以同时的
虽然CPU级别,不一定是同时的
但在你肉眼里,应该还算同时

c#多个定时器问题

#2


一个计时器,多个计数器,计数操作多线程比较好。否则冲突都不好找

#3


lz 可以把代码贴出来 看看

#4


定时器有3种,其中System.Windows.Forms命名空间下面的定时器,其定时执行的代码是在当前窗口所在线程即主线程中执行的,会阻塞其它定时器的执行。

#5


代码不好贴,公司没网络。
具体来讲,是这样的。我这里有三个任务,1.将三张图片合成一张图片 2.在原来的三张图片和合成的图片上叠加信息 3.上传这些图片。
我用了三个定时器,但是发现一个时间只有一个定时器是工作的,其他的都阻塞了。而且合并图片和叠加信息的函数需要的时间太长了,效率低。
请大家帮帮忙,有什么建议意见都说出来。

#6


还是说用多线程?多线程的话会阻塞吗?不是说定时器也是多线程吗?

#7


和定时器无关吧,应该是你的代码有Bug

#8


不会吧?我的代码很简单的,就是用g.drawstring(),drawImage()这些函数啊,没什么复杂的啊。
多线程和定时器有什么区别?用多线程可以吗?

#9


在代码中 使用锁机制或者手动通过设置timer.Enabled来启动和关闭定时器
比如: 参考
貌似最好是使用锁(简单实用) 但是我实验了没有撞门而入.