真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

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

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

我們提供的服務有:成都網站設計、網站制作、微信公眾號開發(fā)、網站優(yōu)化、網站認證、港口ssl等。為千余家企事業(yè)單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的港口網站制作公司

a.啟動線程

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

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

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

b.殺死線程

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

c.暫停線程

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

d.優(yōu)先級

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

thread.Priority = ThreadPriority.Highest;

e.掛起線程

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

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

f.恢復線程

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

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多線程應用舉例分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
新聞名稱:C#.NET多線程應用舉例分析
分享路徑:http://weahome.cn/article/jseesc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部