代码如下:
string str = "";
private void button1_Click(object sender, EventArgs e)
{ System.Timers.Timer t = new System.Timers.Timer(10); //实例化Timer类,设置间隔时间为10毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(theout); //到达时间的时候执行事件;
t.AutoReset = true; //设置是执行一次(false)还是一直执行(true);
t.Enabled = true; //是否执行System.Timers.Timer.Elapsed事件;
} public void theout(object source, System.Timers.ElapsedEventArgs e)
{ str = "22222"; }定时器每过10ms就触发THEOUT事件,THEOUT里头就执行了一条语句,我在内存中查看进程使用内存情况,观察了好久发现内存使用一直在增长。难道TIMER每次触发的事件都新建了线程?并且不释放的?谁知道要怎么才能释放资源呢?谢谢!
string str = "";
private void button1_Click(object sender, EventArgs e)
{ System.Timers.Timer t = new System.Timers.Timer(10); //实例化Timer类,设置间隔时间为10毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(theout); //到达时间的时候执行事件;
t.AutoReset = true; //设置是执行一次(false)还是一直执行(true);
t.Enabled = true; //是否执行System.Timers.Timer.Elapsed事件;
} public void theout(object source, System.Timers.ElapsedEventArgs e)
{ str = "22222"; }定时器每过10ms就触发THEOUT事件,THEOUT里头就执行了一条语句,我在内存中查看进程使用内存情况,观察了好久发现内存使用一直在增长。难道TIMER每次触发的事件都新建了线程?并且不释放的?谁知道要怎么才能释放资源呢?谢谢!
{
var tmr=((System.Timers.Timer)source);
tmr.Stop();
str = "22222";
rmr.Start();
}