bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

c#前臺和后臺線程有什么區別

c# 前臺和后臺線程有什么區別?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創新互聯從2013年成立,先為天等等服務建站,天等等地企業,進行企業商務咨詢服務。為天等企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

Net的公用語言運行時(Common Language Runtime,CLR)能區分兩種不同類型的線程:前臺線程和后臺線程。這兩者的區別就是:應用程序必須運行完所有的前臺線程才可以退出;而對于后臺線程,應用程序則可以不考慮其是否已經運行完畢而直接退出,所有的后臺線程在應用程序退出時都會自動結束。

這么說可能不知道有什么區別:

前臺線程后臺線程的區別和聯系:

1、后臺線程不會阻止進程的終止。屬于某個進程的所有前臺線程都終止后,該進程就會被終止。所有剩余的后臺線程都會停止且不會完成。

2、可以在任何時候將前臺線程修改為后臺線程,方式是設置Thread.IsBackground 屬性。

3、不管是前臺線程還是后臺線程,如果線程內出現了異常,都會導致進程的終止。

4、托管線程池中的線程都是后臺線程,使用new Thread方式創建的線程默認都是前臺線程。

.net環境使用Thread建立的線程默認情況下是前臺線程,即線程屬性IsBackground=false,在進程中,只要有一個前臺線程未退出,進程就不會終止。主線程就是一個前臺線程。而后臺線程不管線程是否結束,只要所有的前臺線程都退出(包括正常退出和異常退出)后,進程就會自動終止。一般后臺線程用于處理時間較短的任務,如在一個Web服務器中可以利用后臺線程來處理客戶端發過來的請求信息。而前臺線程一般用于處理需要長時間等待的任務,如在Web服務器中的監聽客戶端請求的程序,或是定時對某些系統資源進行掃描的程序。

案例

static void Main(string[] args)
    {
      SampleTread thead = new SampleTread(10);

      SampleTread theadback = new SampleTread(10);
      var theadone = new Thread(thead.CountNumbers);
      var theadtwo = new Thread(theadback.CountNumbers);
      theadtwo.IsBackground = true;
      theadone.Start();
      theadtwo.Start();
      
    }
class SampleTread
  {
    private readonly int _iterations;
    public SampleTread(int iterations)
    {
      this._iterations = iterations;
    }
    public void CountNumbers()
    {
      for (int i = 0; i < _iterations; i++)
      {
        Sleep(TimeSpan.FromSeconds(0.5));
        Console.WriteLine($"{ CurrentThread.Name}print{i}");
      }
    }
  }

分析

運行結果為,當前臺線程執行完畢后那么后臺線程也會退出。其實在操作系統中根本就沒有前后線程這個概念,那么為什么會有這個東西呢?

意義何在?本來是這樣子的當我們的主線程結束的時候其他線程也應該結束,因為釋放了我們的線程對象了,如果主線程結束的時候不釋放其他線程那么其他線程的危害性真的太大了,所以c#為我們提供了前臺線程和后臺線程這個概念讓操作線程變得比較簡單。

至于怎么用,看具體項目了,后臺線程往往起到輔助性的功能。比如說winform,在關閉窗口后線程進程依然沒有關閉,這就是因為關閉close后去執行關閉主線程,其他線程關閉后主線程才會安全關閉。

這就是為什么你還可以看到其他線程的原因,當然你看到還有其他線程的原因可能是多個進程,其他進程的主線程沒有關閉,這個需要具體分析了。

關于c# 前臺和后臺線程有什么區別問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯行業資訊頻道了解更多相關知識。

當前文章:c#前臺和后臺線程有什么區別
瀏覽路徑:http://vcdvsql.cn/article38/pphipp.html

成都網站建設公司_創新互聯,為您提供網站設計公司虛擬主機品牌網站制作搜索引擎優化關鍵詞優化響應式網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設