我是处理线程的新手。
System.Diagnostics 和 System.Timers 在 Threading 上下文中的作用是什么?两者是相互替代的,或者它们是为了完成一些独特的任务而实现的?
我是处理线程的新手。
System.Diagnostics 和 System.Timers 在 Threading 上下文中的作用是什么?两者是相互替代的,或者它们是为了完成一些独特的任务而实现的?
秒表用于测量时间间隔。定时器用于调度方法在未来某个时间点执行。它们完全不同。
System.Diagnostics命名空间提供允许您与系统进程、事件日志和性能计数器交互的类。
System.Timers命名空间提供了 Timer 组件,它允许您在指定的时间间隔内引发事件。
小心使用 System.Timers。
.Net 中基本上有三个计时器
System.Timers.Timer
System.Threading.Timer
System.Windows.Forms.Timer
需要注意的关键是收集问题。
如果您的线程在某个时间点之后没有引用某个对象,那么它可能会被垃圾回收。这实际上是 IDisposable 模式的关键原因之一,因为调用 dispose 意味着您保持对象处于活动状态,直到至少 dispose() 调用结束。这是你说的时候调用的方法
using(var myobj = new System.Threading.Timers())
{
//run program here
} //Timer can be collected from now.
作为另一种选择,我一直在我的应用程序中使用BackgroundWorker 类,效果很好