欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c# Thread類線程常用操作詳解

 更新時(shí)間:2021年03月12日 08:55:24   作者:UP技術(shù)控  
這篇文章主要介紹了c# Thread類線程常用操作詳解的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下

創(chuàng)建線程

線程是通過擴(kuò)展 Thread 類創(chuàng)建的。擴(kuò)展的 Thread 類調(diào)用 Start() 方法來開始子線程的執(zhí)行。

下面的程序演示了這個(gè)概念:

class ThreadCreationProgram
  {
    public static void CallToChildThread()
    {
      Console.WriteLine("Child thread starts");
    }
    
    static void Main(string[] args)
    {
      ThreadStart childref = new ThreadStart(CallToChildThread);
      Console.WriteLine("In Main: Creating the Child thread");
      Thread childThread = new Thread(childref);
      childThread.Start();
      Console.ReadKey();
    }
  }

當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:

In Main: Creating the Child thread
Child thread starts

管理線程

Thread 類提供了各種管理線程的方法。

下面的實(shí)例演示了 sleep() 方法的使用,用于在一個(gè)特定的時(shí)間暫停線程。

class ThreadCreationProgram
  {
    public static void CallToChildThread()
    {
      Console.WriteLine("Child thread starts");
      // 線程暫停 5000 毫秒
      int sleepfor = 5000;
      Console.WriteLine("Child Thread Paused for {0} seconds",
               sleepfor / 1000);
      Thread.Sleep(sleepfor);
      Console.WriteLine("Child thread resumes");
    }
    
    static void Main(string[] args)
    {
      ThreadStart childref = new ThreadStart(CallToChildThread);
      Console.WriteLine("In Main: Creating the Child thread");
      Thread childThread = new Thread(childref);
      childThread.Start();
      Console.ReadKey();
    }
  }

當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:

In Main: Creating the Child thread
Child thread starts
Child Thread Paused for 5 seconds
Child thread resumes

銷毀線程

Abort() 方法用于銷毀線程。

通過拋出 threadabortexception 在運(yùn)行時(shí)中止線程。這個(gè)異常不能被捕獲,如果有 finally 塊,控制會(huì)被送至 finally 塊。

下面的程序說明了這點(diǎn):

class ThreadCreationProgram
  {
    public static void CallToChildThread()
    {
      try
      {

        Console.WriteLine("Child thread starts");
        // 計(jì)數(shù)到 10
        for (int counter = 0; counter <= 10; counter++)
        {
          Thread.Sleep(500);
          Console.WriteLine(counter);
        }
        Console.WriteLine("Child Thread Completed");

      }
      catch (ThreadAbortException e)
      {
        Console.WriteLine("Thread Abort Exception");
      }
      finally
      {
        Console.WriteLine("Couldn't catch the Thread Exception");
      }

    }
    
    static void Main(string[] args)
    {
      ThreadStart childref = new ThreadStart(CallToChildThread);
      Console.WriteLine("In Main: Creating the Child thread");
      Thread childThread = new Thread(childref);
      childThread.Start();
      // 停止主線程一段時(shí)間
      Thread.Sleep(2000);
      // 現(xiàn)在中止子線程
      Console.WriteLine("In Main: Aborting the Child thread");
      childThread.Abort();
      Console.ReadKey();
    }
  }

當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:

In Main: Creating the Child thread
Child thread starts
0
1
2
In Main: Aborting the Child thread
Thread Abort Exception
Couldn't catch the Thread Exception

以上就是c# Thread類線程常用操作詳解的詳細(xì)內(nèi)容,更多關(guān)于c# Thread類線程的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 如何使用C#在PDF文件添加圖片印章

    如何使用C#在PDF文件添加圖片印章

    文檔中添加印章可以起一定的作用,比如,防止文件隨意被使用,或者確保文檔內(nèi)容的安全性和權(quán)威性。C#添加圖片印章其實(shí)也有很多實(shí)現(xiàn)方法,這里我使用的是免費(fèi)的第三方軟件Free Spire.PDF,向大家闡述如何以編程的方式在PDF文件中添加圖片印章
    2017-01-01
  • Unity調(diào)用手機(jī)攝像機(jī)識(shí)別二維碼

    Unity調(diào)用手機(jī)攝像機(jī)識(shí)別二維碼

    這篇文章主要為大家詳細(xì)介紹了Unity調(diào)用手機(jī)攝像機(jī)識(shí)別二維碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • C#模擬實(shí)現(xiàn)QQ窗體功能

    C#模擬實(shí)現(xiàn)QQ窗體功能

    這篇文章主要為大家詳細(xì)介紹了如何通過C#實(shí)現(xiàn)類似QQ窗體的功能,當(dāng)窗體放置到屏幕的邊緣,可以將窗體隱藏,當(dāng)鼠標(biāo)再次放置到屏幕邊緣時(shí),窗體可再次顯示,需要的可以參考一下
    2022-12-12
  • VSCode配置C#運(yùn)行環(huán)境的完整步驟

    VSCode配置C#運(yùn)行環(huán)境的完整步驟

    這篇文章主要給大家介紹了關(guān)于VSCode配置C#運(yùn)行環(huán)境的完整步驟,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • C# 文字代碼頁(yè) 文字編碼的代碼頁(yè)名稱速查表

    C# 文字代碼頁(yè) 文字編碼的代碼頁(yè)名稱速查表

    最近有項(xiàng)目需要用到韓語,日語的編碼轉(zhuǎn)換,最重要的就是需要一個(gè)代碼頁(yè)的對(duì)照,找了一下,最新的代碼頁(yè)或者說編碼表如下
    2011-11-11
  • C#將時(shí)間轉(zhuǎn)成文件名使用方法

    C#將時(shí)間轉(zhuǎn)成文件名使用方法

    C#將時(shí)間轉(zhuǎn)成文件名用到的是DateTime類的ToFileTime方法,下面看使用方法吧
    2014-01-01
  • C#日期格式字符串的相互轉(zhuǎn)換操作實(shí)例分析

    C#日期格式字符串的相互轉(zhuǎn)換操作實(shí)例分析

    這篇文章主要介紹了C#日期格式字符串的相互轉(zhuǎn)換操作,結(jié)合實(shí)例形式分析了C#日期格式字符串的相互轉(zhuǎn)換操作函數(shù)與相關(guān)使用技巧,需要的朋友可以參考下
    2019-08-08
  • C# using三種使用方法

    C# using三種使用方法

    這篇文章主要為大家詳細(xì)介紹了C# using三種使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • asp.net新聞列表生成靜態(tài)頁(yè)之批量和單頁(yè)生成

    asp.net新聞列表生成靜態(tài)頁(yè)之批量和單頁(yè)生成

    web程序的高訪問量、大數(shù)據(jù)量、高效的用戶體驗(yàn)度,使靜態(tài)頁(yè)技術(shù)在越來越多的網(wǎng)站上發(fā)揮作用。這篇文章主要介紹asp.net新聞列表生成靜態(tài)頁(yè)之批量和單頁(yè)生成,有需要的朋友可以參考下
    2015-08-08
  • Quartz.Net實(shí)現(xiàn)原理及使用方法詳解

    Quartz.Net實(shí)現(xiàn)原理及使用方法詳解

    這篇文章主要介紹了Quartz.Net實(shí)現(xiàn)原理及使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評(píng)論