在调用某个方法时如何为此方法超时时间? 本帖最后由 zhmvb 于 2009-07-03 11:40:10 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用线程来看看. private void button3_Click(object sender, EventArgs e) { DateTime _StarTime = DateTime.Now; Thread _Thread = new Thread(new ThreadStart(GetState)); _Thread.Start(); while (true) { TimeSpan _Span =DateTime.Now-_StarTime; if (_Span.Seconds>10) //这里设置时间 { _Thread.Abort(); } Application.DoEvents(); } } public void GetState() { string state = Led.GetState(DateTime.Now); } up1楼,学习.不用线程的话,用timer吧,intervel高为60*1000 最好不用线程,因为有无数次调用GetLedState,如果防到到线程中的话会创建很多个线程。另外在即时把GetLedStat防到线程中,如果GetLedStat正处于等待状态时运行_Thread.Abort(),实际上没没有结束Led.GetState(DateTime.Now)的等待状态,此时用frm.close()关闭程序后,他在操作系统中的进程中任存在,直到Led.GetState返回数据才真正的退出。 线成和无数次调用GetLedState没关系..如果你的GetLedState是非托管代码.可以考虑API来创建线程和终止线程. 对一个动态表的输入 vs2010不能连接sql 2005怎么办?急 用C#语音写一个带指针的时钟 C#判断是否是第一次启动程序 入门经典里web 编程基础的一个公共属性如何理解 问题 急!!! ===向大家请教一个经常可以看到的选择功能的实现方法=== 在个位数字前面加个0 DownloadFileAsync下载文件的问题 新手问题,请大侠都进来看看 先到先得 谢谢 程序如何实时获取数据库中数据更新状态 正则问题,字符只替换一次,替换过的不进行替换,高手帮指点一下。
{
DateTime _StarTime = DateTime.Now;
Thread _Thread = new Thread(new ThreadStart(GetState));
_Thread.Start(); while (true)
{
TimeSpan _Span =DateTime.Now-_StarTime; if (_Span.Seconds>10) //这里设置时间
{
_Thread.Abort();
}
Application.DoEvents();
}
} public void GetState()
{
string state = Led.GetState(DateTime.Now);
}
不用线程的话,用timer吧,intervel高为60*1000
如果你的GetLedState是非托管代码.可以考虑API来创建线程和终止线程.