校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

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

.net讓線程支持超時的方法實例和線程在執行結束后銷毀的方法

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


.net讓線程支持超時

使用 CancellationTokenSource

復制代碼 代碼如下:

private static void TimeoutTest1()
        {
            var cts = new CancellationTokenSource();

            var thread = new Thread(() =>
            {
                Console.WriteLine(String.Format("線程{0}執行中", Thread.CurrentThread.ManagedThreadId));
                Thread.Sleep(10000);
                Console.WriteLine(String.Format("線程{0}執行中", Thread.CurrentThread.ManagedThreadId));
            });

            cts.Token.Register(() =>
            {
                thread.Abort();
            });
            cts.CancelAfter(1000);

            thread.Start();
            thread.Join();

            Console.WriteLine(String.Format("線程{0}的狀態:{1}", thread.ManagedThreadId, thread.ThreadState));
        }

這里采用了 Abort 終止了線程,CancellationTokenSource 也支持其它模式,可以去官方看看文檔。

使用 Join

復制代碼 代碼如下:

private static void TimeoutTest2()
        {
            var thread = new Thread(() =>
            {
                Console.WriteLine(String.Format("線程{0}執行中", Thread.CurrentThread.ManagedThreadId));
                Thread.Sleep(10000);
                Console.WriteLine(String.Format("線程{0}執行中", Thread.CurrentThread.ManagedThreadId));
            });

            thread.Start();
            thread.Join(1000);
            thread.Abort();

            Console.WriteLine(String.Format("線程{0}的狀態:{1}", thread.ManagedThreadId, thread.ThreadState));
        }

.net讓線程在執行結束后銷毀

線程執行完、遇到未處理異常和被終止后就自動不可用了,如果是垃圾,自然會被 GC 給回收,有一點需要說明的是:線程的未處理異常會導致應用程序的終止,一個線程的異常不會自動冒泡到其它線程。

 

您可能感興趣的文章:
  • 設置ASP.NET頁面的運行超時時間詳細到單個頁面及站點
  • 登錄超時給出提示跳到登錄頁面(ajax、導入、導出)
  • php設置頁面超時時間解決方法
  • JS實現頁面超時后自動跳轉到登陸頁面
  • php頁面函數設置超時限制的方法
  • ajax提交session超時跳轉頁面使用全局的方法來處理
  • Asp.Net各種超時問題總結
  • Asp中Server.ScriptTimeOut屬性需要注意的一點分析
  • 超過了腳本運行的最長時間..Server.ScriptTimeOut 屬性指定新值
  • ASP.NET頁面請求超時時間設置多種方法

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

巨人網絡通訊聲明:本文標題《.net讓線程支持超時的方法實例和線程在執行結束后銷毀的方法》,本文關鍵詞  .net,讓,線程,支持,超時,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《.net讓線程支持超時的方法實例和線程在執行結束后銷毀的方法》相關的同類信息!
  • 本頁收集關于.net讓線程支持超時的方法實例和線程在執行結束后銷毀的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 湘阴县| 汝南县| 防城港市| 乳山市| 五家渠市| 德保县| 西畴县| 宜宾县| 乌兰浩特市| 太原市| 贵州省| 黄浦区| 和龙市| 东乌珠穆沁旗| 通州市| 五峰| 尼玛县| 盐源县| 昌黎县| 衢州市| 瓦房店市| 邓州市| 门头沟区| 田阳县| 永川市| 乌什县| 玛多县| 南涧| 格尔木市| 霍山县| 晋中市| 西青区| 和田市| 铜梁县| 阳原县| 邓州市| 类乌齐县| 调兵山市| 汕头市| 北宁市| 鱼台县|