c#的定时器不准有时候怎么不起作用了?并没有关闭定时器啊

时间:2021-06-04 05:17:50
用c#调用系统的Timer,每隔10s中触发写文件的操作,可是有时候,会出现隔12秒再触发,隔30秒触发,还有一种情况就不触发了。该进程执行爬虫程序,然后再开启一个线程启动定时器,这个定时器就会出现上述情况。出现这种情况时,爬虫线程占用资源比较大,怀疑跟电脑卡有关系,问下大家有遇到过这个问题的吗?该怎么解决呢?

8 个解决方案

#1


时钟产生的也是一种事件,如果系统比较卡,可以能就会导致得不到及时处理。

#2


提高进程的优先级到realtime,并且把定时器的线程级别提到最高试试。

#3


另外定时器用System.Timer,不要用timer控件。

#4


.net framework中至少有3中不同命名空间中的Timer,你连这个都没有分清楚?

#5


引用 4 楼 sp1234 的回复:
.net framework中至少有3中不同命名空间中的Timer,你连这个都没有分清楚?

我用的就是System.Timer这个类。

#6


如果不存在线程同步问题,就在定时器委托方法中开新线程执行耗时过程。

#7


.net framework中至少有3中不同命名空间中的Timer,看你用那个

#8


引用 5 楼 wangzhewang 的回复:
引用 4 楼 sp1234 的回复:

.net framework中至少有3中不同命名空间中的Timer,你连这个都没有分清楚?

我用的就是System.Timer这个类。

有System.Timer这个类?你用的哪个星球的.NET?

#1


时钟产生的也是一种事件,如果系统比较卡,可以能就会导致得不到及时处理。

#2


提高进程的优先级到realtime,并且把定时器的线程级别提到最高试试。

#3


另外定时器用System.Timer,不要用timer控件。

#4


.net framework中至少有3中不同命名空间中的Timer,你连这个都没有分清楚?

#5


引用 4 楼 sp1234 的回复:
.net framework中至少有3中不同命名空间中的Timer,你连这个都没有分清楚?

我用的就是System.Timer这个类。

#6


如果不存在线程同步问题,就在定时器委托方法中开新线程执行耗时过程。

#7


.net framework中至少有3中不同命名空间中的Timer,看你用那个

#8


引用 5 楼 wangzhewang 的回复:
引用 4 楼 sp1234 的回复:

.net framework中至少有3中不同命名空间中的Timer,你连这个都没有分清楚?

我用的就是System.Timer这个类。

有System.Timer这个类?你用的哪个星球的.NET?