我有一个Windows服务,其中有一个Timer,另外当服务启动时,服务会将从外部获取的大量数据放进线程池处理,这时调试时发现,Timer很难抢到资源,只有当线程池不那么阻塞时才会执行Timer的操作,我看了资料,Timer也被算入线程池的线程中,有没有办法保护Timer始终占有一个线程,不收Threapool高并发的影响
你的Timer是什么类型Timer?
System.Timers
markkk
换个思路,用Thread,设置它的优先级高一点,并且是new出来的,这样就不归线程池管。然后在Thread里面用一个while(true)的循环来控制逻辑,时间间隔就用Thread.Sleep()来处理。
可惜已经结贴了,你这个才是对的,后来我就是通过使用Thread,设置较高一集的优先级,问题解决