我是处理线程的新手。
System.Diagnostics和System.Timers在线程上下文中的作用是什么?两者都是相互替代的,还是为了完成一些独特的任务而实现的?
发布于 2009-10-09 09:10:56
StopWatch用于测量时间间隔。计时器用于调度方法,以便在将来的某个时候执行。它们是完全不同的。
发布于 2009-10-09 09:13:39
System.Diagnostics命名空间提供允许您与系统进程、事件日志和性能计数器进行交互的类。
System.Timers命名空间提供Timer组件,该组件允许您按指定的时间间隔引发事件。
发布于 2009-10-11 10:36:07
在使用System.Timers时要格外小心。
在.Net中基本上有三个计时器
System.Timers.Timer
System.Threading.Timer
System.Windows.Forms.TimerThree Timers available in .Net
需要注意的关键问题是收集问题。
如果线程在某个点之后没有引用某个对象,则可以对其进行垃圾回收。这实际上是使用dispose模式的主要原因之一,因为调用dispose意味着至少在dispose()调用结束之前保持对象的活动状态。这就是当你说
using(var myobj = new System.Threading.Timers())
{
//run program here
} //Timer can be collected from now.https://stackoverflow.com/questions/1542707
复制相似问题