C# System.Timer.timer,定时器已关闭,通过定时器启动的线程如何关闭? 做了个System.Timer.timer定时器,设定为t,当t启动时,每过几秒执行方法A,方法A的运行时间较长,我在方法A正在运行的时候关闭t,但是A仍然在运行。怎么样才能在t关闭是同时关闭正在执行的线程A哦? 感谢!定时器线程 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; //A操作 timer1.Enabled = true; } 如果A是个线程,那没必要用timer,线程中自己可以延时 private static object LockObject = new Object(); private static int CheckUpDateLock = 0;System.Timers.Timer t = new System.Timers.Timer();private void LoginFrm_Load(object sender, EventArgs e){ t.Elapsed += new System.Timers.ElapsedEventHandler(A); t.AutoReset = true; t.Interval = 1000;}private void btnStart_Click(object sender, EventArgs e){ t.Enabled = true; Thread.Sleep(5000); t.Enabled = false;}public void A(object source, System.Timers.ElapsedEventArgs e){ lock (LockObject) { if (CheckUpDateLock == 0) CheckUpDateLock = 1; else return; } Thread.Sleep(10000); MessageBox.Show('似乎还在运行...'); lock (LockObject) { CheckUpDateLock = 0; }}执行btnStart后,依然还会有提示框。。 您好,A是定时器t引发的方法,我将定时器t关闭了,但是A方法还在运行,我想让A方法立即停止,不再执行,能做到么。 生明一个线程变量(thread td)做为定时器方法里引发的线程,停止时使用td.Abort(); a方法在计时器里用thread来做,停止计时器时,同时退出thread C#有什么选择文件的控件 会c# 的来帮我啊 MDI子窗体还是MDI窗体可以不? AjaxControlToolkit在FF下失效? C# 实现Oracle 数据导出到文本 16进制数 关于 trim 请问如何在程序中设置微软语音识别引擎? c++中的"-1"(char)在C#中应该怎么写? 调用水晶报表。在本机上测试没有问题,但是发布在目标机时会出现如下错误: DataGridView某列,最小化后值没有显示 C#高手请注意!请教一下怎样在一个项目里引用其它项目的函数??
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Enabled = false;
//A操作
timer1.Enabled = true;
}
private static object LockObject = new Object();
private static int CheckUpDateLock = 0;
System.Timers.Timer t = new System.Timers.Timer();
private void LoginFrm_Load(object sender, EventArgs e)
{
t.Elapsed += new System.Timers.ElapsedEventHandler(A);
t.AutoReset = true;
t.Interval = 1000;
}private void btnStart_Click(object sender, EventArgs e)
{
t.Enabled = true;
Thread.Sleep(5000);
t.Enabled = false;
}public void A(object source, System.Timers.ElapsedEventArgs e)
{
lock (LockObject)
{
if (CheckUpDateLock == 0) CheckUpDateLock = 1;
else return;
}
Thread.Sleep(10000);
MessageBox.Show('似乎还在运行...');
lock (LockObject)
{
CheckUpDateLock = 0;
}
}
执行btnStart后,依然还会有提示框。。
您好,A是定时器t引发的方法,我将定时器t关闭了,但是A方法还在运行,我想让A方法立即停止,不再执行,能做到么。