亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# .NET多線程應用舉例分析

發布時間:2021-12-03 10:14:08 來源:億速云 閱讀:151 作者:iii 欄目:編程語言

這篇文章主要介紹“C# .NET多線程應用舉例分析”,在日常操作中,相信很多人在C# .NET多線程應用舉例分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C# .NET多線程應用舉例分析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

a.啟動線程

顧名思義,“啟動線程”就是新建并啟動一個線程的意思,如下代碼可實現:   

Thread thread1 = new Thread(new ThreadStart( Count));

其中的 Count 是將要被新線程執行的函數。

b.殺死線程

“殺死線程”就是將一線程斬草除根,為了不白費力氣,在殺死一個線程前***先判斷它是否還活著(通過 IsAlive 屬性),然后就可以調用 Abort 方法來殺死此線程。

c.暫停線程

它的意思就是讓一個正在運行的線程休眠一段時間。如 thread.Sleep(1000); 就是讓線程休眠1秒鐘。

d.優先級

這個用不著解釋了。Thread類中有一個ThreadPriority屬性,它用來設置優先級,但不能保證操作系統會接受該優先級。一個線程的優先級可分為5種:Normal, AboveNormal, BelowNormal, Highest, Lowest。具體實現例子如下: 

thread.Priority = ThreadPriority.Highest;

e.掛起線程

Thread類的Suspend方法用來掛起線程,知道調用Resume,此線程才可以繼續執行。如果線程已經掛起,那就不會起作用。

if (thread.ThreadState = ThreadState.Running)  {       thread.Suspend();  }

f.恢復線程

用來恢復已經掛起的線程,以讓它繼續執行,如果線程沒掛起,也不會起作用。

if (thread.ThreadState = ThreadState.Suspended)  {       thread.Resume();  }

下面將列出一個例子,以說明簡單的線程處理功能。此例子來自于幫助文檔。

using System;  using System.Threading;   // Simple threading scenario:  Start a static method running  // on a second thread.  public class ThreadExample {      // The ThreadProc method is called when the thread starts.      // It loops ten times, writing to the console and yielding      // the rest of its time slice each time, and then ends.      public static void ThreadProc() {          for (int i = 0; i <  10; i++) {              Console.WriteLine("ThreadProc: {0}", i);              // Yield the rest of the time slice.              Thread.Sleep(0);          }      }       public static void Main() {          Console.WriteLine("Main thread: Start a second thread.");          // The constructor for the Thread class requires a ThreadStart          // delegate that represents the method to be executed on the          // thread.  C# simplifies the creation of this delegate.          Thread t = new Thread(new ThreadStart(ThreadProc));          // Start ThreadProc.  On a uniprocessor, the thread does not get          // any processor time until the main thread yields.  Uncomment          // the Thread.Sleep that follows t.Start() to see the difference.          t.Start();          //Thread.Sleep(0);           for (int i = 0; i <  4; i++) {              Console.WriteLine("Main thread: Do some work.");              Thread.Sleep(0);          }           Console.WriteLine("Main thread: Call Join(), to wait until ThreadProc ends.");          t.Join();          Console.WriteLine("Main thread: ThreadProc.Join has returned.  Press Enter to end program.");          Console.ReadLine();      }  }

此代碼產生的輸出類似如下內容:

Main thread: Start a second thread.  Main thread: Do some work.  ThreadProc: 0  Main thread: Do some work.  ThreadProc: 1  Main thread: Do some work.  ThreadProc: 2  Main thread: Do some work.  ThreadProc: 3  Main thread: Call Join(), to wait until ThreadProc ends.  ThreadProc: 4  ThreadProc: 5  ThreadProc: 6  ThreadProc: 7  ThreadProc: 8  ThreadProc: 9  Main thread: ThreadProc.Join has returned.  Press Enter to end program.

到此,關于“C# .NET多線程應用舉例分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

澜沧| 五家渠市| 八宿县| 阳新县| 金昌市| 水城县| 荥经县| 凤山县| 东辽县| 汕尾市| 临沭县| 建始县| 龙江县| 神池县| 永仁县| 北碚区| 营口市| 札达县| 集贤县| 宜宾县| 五寨县| 惠安县| 乐昌市| 收藏| 北票市| 天柱县| 城步| 东阳市| 华容县| 漯河市| 元谋县| 三穗县| 新兴县| 建德市| 乌兰浩特市| 新蔡县| 玉环县| 平泉县| 万山特区| 望城县| 清水河县|