.net讓線程支持超時(shí)的方法實(shí)例和線程在執(zhí)行結(jié)束后銷毀的方法
.net讓線程支持超時(shí)
使用 CancellationTokenSource
private static void TimeoutTest1()
{
var cts = new CancellationTokenSource();
var thread = new Thread(() =>
{
Console.WriteLine(String.Format("線程{0}執(zhí)行中", Thread.CurrentThread.ManagedThreadId));
Thread.Sleep(10000);
Console.WriteLine(String.Format("線程{0}執(zhí)行中", Thread.CurrentThread.ManagedThreadId));
});
cts.Token.Register(() =>
{
thread.Abort();
});
cts.CancelAfter(1000);
thread.Start();
thread.Join();
Console.WriteLine(String.Format("線程{0}的狀態(tài):{1}", thread.ManagedThreadId, thread.ThreadState));
}
這里采用了 Abort 終止了線程,CancellationTokenSource 也支持其它模式,可以去官方看看文檔。
使用 Join
private static void TimeoutTest2()
{
var thread = new Thread(() =>
{
Console.WriteLine(String.Format("線程{0}執(zhí)行中", Thread.CurrentThread.ManagedThreadId));
Thread.Sleep(10000);
Console.WriteLine(String.Format("線程{0}執(zhí)行中", Thread.CurrentThread.ManagedThreadId));
});
thread.Start();
thread.Join(1000);
thread.Abort();
Console.WriteLine(String.Format("線程{0}的狀態(tài):{1}", thread.ManagedThreadId, thread.ThreadState));
}
.net讓線程在執(zhí)行結(jié)束后銷毀
線程執(zhí)行完、遇到未處理異常和被終止后就自動(dòng)不可用了,如果是垃圾,自然會(huì)被 GC 給回收,有一點(diǎn)需要說明的是:線程的未處理異常會(huì)導(dǎo)致應(yīng)用程序的終止,一個(gè)線程的異常不會(huì)自動(dòng)冒泡到其它線程。
- 設(shè)置ASP.NET頁(yè)面的運(yùn)行超時(shí)時(shí)間詳細(xì)到單個(gè)頁(yè)面及站點(diǎn)
- 登錄超時(shí)給出提示跳到登錄頁(yè)面(ajax、導(dǎo)入、導(dǎo)出)
- php設(shè)置頁(yè)面超時(shí)時(shí)間解決方法
- JS實(shí)現(xiàn)頁(yè)面超時(shí)后自動(dòng)跳轉(zhuǎn)到登陸頁(yè)面
- php頁(yè)面函數(shù)設(shè)置超時(shí)限制的方法
- ajax提交session超時(shí)跳轉(zhuǎn)頁(yè)面使用全局的方法來處理
- Asp.Net各種超時(shí)問題總結(jié)
- Asp中Server.ScriptTimeOut屬性需要注意的一點(diǎn)分析
- 超過了腳本運(yùn)行的最長(zhǎng)時(shí)間..Server.ScriptTimeOut 屬性指定新值
- ASP.NET頁(yè)面請(qǐng)求超時(shí)時(shí)間設(shè)置多種方法
相關(guān)文章
.NET(C#)連接各類數(shù)據(jù)庫(kù)代碼-集錦
.NET(C#)連接各類數(shù)據(jù)庫(kù)代碼-集錦...2007-03-03
Asp.net中時(shí)間格式化的6種方法詳細(xì)總結(jié)
數(shù)據(jù)控件綁定時(shí)格式化日期方法/用DataBinder.Eval進(jìn)行數(shù)據(jù)綁定時(shí)/直接用ToString方法轉(zhuǎn)換日期顯示格式/用String類轉(zhuǎn)換日期顯示格式等等,感興趣的你了解下哦,或許對(duì)你學(xué)習(xí)時(shí)間格式化有所幫助2013-02-02
asp.net中引用同一個(gè)項(xiàng)目中的類庫(kù) 避免goToDefinition時(shí)不能到達(dá)真正的定義類
asp.net中引用同一個(gè)項(xiàng)目中的類庫(kù) 避免 goToDefinition時(shí)不能到達(dá)真正的定義類2011-10-10
Asp.net管理信息系統(tǒng)中數(shù)據(jù)統(tǒng)計(jì)功能的實(shí)現(xiàn)方法
這篇文章主要介紹了Asp.net管理信息系統(tǒng)中數(shù)據(jù)統(tǒng)計(jì)功能的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-07-07
VS2017添加EF的MVC控制器報(bào)錯(cuò)的解決方法
這篇文章主要為大家詳細(xì)介紹了VS2017添加EF的MVC控制器報(bào)錯(cuò)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
Asp.Net的FileUpload類實(shí)現(xiàn)上傳文件實(shí)例
這篇文章主要介紹了Asp.Net的FileUpload類實(shí)現(xiàn)上傳文件的方法,以實(shí)例形式講述了上傳文件類的具體實(shí)現(xiàn)方法,是非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11
ASP.NET對(duì)無序列表批量操作的三種方法小結(jié)
在網(wǎng)頁(yè)開發(fā)中,經(jīng)常要用到無序列表。事實(shí)上在符合W3C標(biāo)準(zhǔn)的div+css布局中,無序列表被大量使用,ASP.NET雖然內(nèi)置了BulletedList控件,用于創(chuàng)建和操作無序列表,但感覺不太好用2012-01-01

