首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# Threading.Timer的疑惑,该如何处理

2012-01-29 
C# Threading.Timer的疑惑各位大虾:使用Threading.Timer时会在规定时间回调方法。由于callback函数由线程池

C# Threading.Timer的疑惑
各位大虾:

        使用Threading.Timer时会在规定时间回调方法。由于callback函数由线程池中的线程执行,如果timer的interval值小于callback函数的执行时间,callback函数会被多个线程执行.如果线程池中的线程被用光,callback函数  
会排队等待,不能如期执行.

        这样会不会造成多个线程同时回调执行该方法,那是不时必然产生同步冲突,
如果我的需求是,用户在UI上点击某个按钮就不停的扫描数据库,那时不时使用
Thread来长期执行就可以了,而不需要使用Threading.Timer来定时执行,这样是否
只能用Lock()来解决,那Threading.Timer对于一般操控来说只是引入了多线程的
复杂问题,并未有其他好处或功效,甚至占用资源。


[解决办法]
这种情况下的确是有问题,但是Threading.Timer也有其它的用途:比如超时处理,以及需要精确控制时间的场合

热点排行