濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > .net讓線程支持超時(shí)的方法實(shí)例和線程在執(zhí)行結(jié)束后銷毀的方法

.net讓線程支持超時(shí)的方法實(shí)例和線程在執(zhí)行結(jié)束后銷毀的方法

熱門標(biāo)簽:電銷機(jī)器人 數(shù)據(jù) 福州人工智能電銷機(jī)器人加盟 云狐人工智能電話機(jī)器人 宿遷智能外呼系統(tǒng)排名 400電話辦理信任翰諾科技 廣州銷售外呼系統(tǒng)定制 地圖標(biāo)注多少錢一張 怎樣給陜西地圖標(biāo)注顏色 ai電銷機(jī)器人對(duì)貸款有幫助嗎


.net讓線程支持超時(shí)

使用 CancellationTokenSource

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

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ùn)行超時(shí)時(shí)間詳細(xì)到單個(gè)頁面及站點(diǎn)
  • 登錄超時(shí)給出提示跳到登錄頁面(ajax、導(dǎo)入、導(dǎo)出)
  • php設(shè)置頁面超時(shí)時(shí)間解決方法
  • JS實(shí)現(xiàn)頁面超時(shí)后自動(dòng)跳轉(zhuǎn)到登陸頁面
  • php頁面函數(shù)設(shè)置超時(shí)限制的方法
  • ajax提交session超時(shí)跳轉(zhuǎn)頁面使用全局的方法來處理
  • Asp.Net各種超時(shí)問題總結(jié)
  • Asp中Server.ScriptTimeOut屬性需要注意的一點(diǎn)分析
  • 超過了腳本運(yùn)行的最長(zhǎng)時(shí)間..Server.ScriptTimeOut 屬性指定新值
  • ASP.NET頁面請(qǐng)求超時(shí)時(shí)間設(shè)置多種方法

標(biāo)簽:綿陽 新疆 宜春 黃南 大興安嶺 曲靖 延安 焦作

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《.net讓線程支持超時(shí)的方法實(shí)例和線程在執(zhí)行結(jié)束后銷毀的方法》,本文關(guān)鍵詞  .net,讓,線程,支持,超時(shí),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《.net讓線程支持超時(shí)的方法實(shí)例和線程在執(zhí)行結(jié)束后銷毀的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于.net讓線程支持超時(shí)的方法實(shí)例和線程在執(zhí)行結(jié)束后銷毀的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    海淀区| 体育| 喀喇沁旗| 石首市| 洞口县| 开化县| 文昌市| 忻城县| 漯河市| 阳城县| 瑞丽市| 通州市| 大姚县| 寻乌县| 弥渡县| 苍南县| 新丰县| 民和| 池州市| 凌云县| 叙永县| 彰化县| 山阳县| 吴忠市| 遂平县| 平舆县| 开平市| 疏附县| 白银市| 元朗区| 安国市| 灵武市| 古蔺县| 崇仁县| 富川| 海晏县| 定南县| 红河县| 新闻| 延寿县| 宜良县|