假设一个定时器的时间间隔是1秒。有个全局变量test,定时器的代码如下:
if(test == false)
{
//假设做事情1,耗时0.1秒。
}
if(test == true)
{
test = false;
//假设做事情2,耗时15秒。
}
我想求解的是:在某个情况下,test==true时,这个定时器在做耗时15秒的事情2,只做了1秒的时候,
定时器又开始下一次执行了,这个时候test==false,那么这个定时器在做事情1的时候,前1秒还在做的
事情2是被打断了不执行,还是仍旧可以继续执行一直到执行完事情2呢?如果是仍旧可以继续执行,那么这个定时器就是执行了两个线程是吗?(一个线程做15秒的事情2,一个线程做0.1秒的事情1)。我最想知道的是这个15秒的事情2是不是被打断了?
if(test == false)
{
//假设做事情1,耗时0.1秒。
}
if(test == true)
{
test = false;
//假设做事情2,耗时15秒。
}
我想求解的是:在某个情况下,test==true时,这个定时器在做耗时15秒的事情2,只做了1秒的时候,
定时器又开始下一次执行了,这个时候test==false,那么这个定时器在做事情1的时候,前1秒还在做的
事情2是被打断了不执行,还是仍旧可以继续执行一直到执行完事情2呢?如果是仍旧可以继续执行,那么这个定时器就是执行了两个线程是吗?(一个线程做15秒的事情2,一个线程做0.1秒的事情1)。我最想知道的是这个15秒的事情2是不是被打断了?
解决方案 »
- c#网页即时更新数据
- dll问题求助
- txt文本文件抽取字符串问题
- 日历,Microsoft JScript 运行时错误: 'outObject.value' 为空或不是对象
- 一个关于DataSet和xml相互转换的问题 求解 谢谢
- 进来看看,马上散分!!up 多给
- 如何用一个页面通过接口调用不同的控件实现多个页面的功能》
- 请问谁有斗地主和麻将的源码或算法呀,~~人机对战的~
- C#如何调用API 函数?????????
- 初级问题请指教!如何在程序中等待5秒,再执行下一条语句?
- 【悬赏-加分结贴】新手请教C# 调用VFP OLEDB API的异常
- mixerGetLineInfo 得不到返回的结构体的字符串内容??
- 一定不会被自动打断。如果是仍旧可以继续执行,那么这个定时器就是执行了两个线程是吗?
- 这个取决于用了什么定时器。
a. 如果是System.Windows.Form.Timer,那么定时器事件就要排队(最多只能有一个定时器事件排队,多余的就被忽略了,倒是没有积压的担忧),只有前一个处理完毕后,排队的定时器事件才有机会得到执行。
b. 如果是其他定时器,比如System.Threading.Timer。那么,每个定时事件都独立在线程池上执行,会有两个线程。