六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

淺析.Net下的多線程編程

[摘要]多線程是許多操作系統(tǒng)所具有的特性,它能大大提高程序的運(yùn)行效率,所以多線程編程技術(shù)為編程者廣泛關(guān)注。目前微軟的.Net戰(zhàn)略正進(jìn)一步推進(jìn),各種相關(guān)的技術(shù)正為廣大編程者所接受,同樣在.Net中多線程編程技術(shù)具有相當(dāng)重要的地位。本文我就向大家介紹在.Net下進(jìn)行多線程編程的基本方法和步驟。 開始新線...
多線程是許多操作系統(tǒng)所具有的特性,它能大大提高程序的運(yùn)行效率,所以多線程編程技術(shù)為編程者廣泛關(guān)注。目前微軟的.Net戰(zhàn)略正進(jìn)一步推進(jìn),各種相關(guān)的技術(shù)正為廣大編程者所接受,同樣在.Net中多線程編程技術(shù)具有相當(dāng)重要的地位。本文我就向大家介紹在.Net下進(jìn)行多線程編程的基本方法和步驟。 

  開始新線程 
   
  在.Net下創(chuàng)建一個(gè)新線程是非常容易的,你可以通過以下的語句來開始一個(gè)新的線程: 
     
  Thread thread = new Thread (new ThreadStart (ThreadFunc));  
  thread.Start (); 
      
  第一條語句創(chuàng)建一個(gè)新的Thread對象,并指明了一個(gè)該線程的方法。當(dāng)新的線程開始時(shí),該方法也就被調(diào)用執(zhí)行了。該線程對象通過一個(gè)System..Threading.ThreadStart類的一個(gè)實(shí)例以類型安全的方法來調(diào)用它要調(diào)用的線程方法。 
      
  第二條語句正式開始該新線程,一旦方法Start()被調(diào)用,該線程就保持在一個(gè)"alive"的狀態(tài)下了,你可以通過讀取它的IsAlive屬性來判斷它是否處于"alive"狀態(tài)。下面的語句顯示了如果一個(gè)線程處于"alive"狀態(tài)下就將該線程掛起的方法: 
      
  if (thread.IsAlive) {    
  thread.Suspend ();   
  } 

  不過請注意,線程對象的Start()方法只是啟動(dòng)了該線程,而并不保證其線程方法ThreadFunc()能立即得到執(zhí)行。它只是保證該線程對象能被分配到CPU時(shí)間,而實(shí)際的執(zhí)行還要由操作系統(tǒng)根據(jù)處理器時(shí)間來決定。 
   
  一個(gè)線程的方法不包含任何參數(shù),同時(shí)也不返回任何值。它的命名規(guī)則和一般函數(shù)的命名規(guī)則相同。它既可以是靜態(tài)的(static)也可以是非靜態(tài)的(nonstatic)。當(dāng)它執(zhí)行完畢后,相應(yīng)的線程也就結(jié)束了,其線程對象的IsAlive屬性也就被置為false了。下面是一個(gè)線程方法的實(shí)例: 

  public static void ThreadFunc() 
   
  { 
   
  for (int i = 0; i <10; i++) { 
   
  Console.WriteLine("ThreadFunc {0}", i); 
   
  } 
   
  } 
   
  前臺線程和后臺線程 

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

  一個(gè)線程是前臺線程還是后臺線程可由它的IsBackground屬性來決定。這個(gè)屬性是可讀又可寫的。它的默認(rèn)值為false,即意味著一個(gè)線程默認(rèn)為前臺線程。我們可以將它的IsBackground屬性設(shè)置為true,從而使之成為一個(gè)后臺線程。 

  下面的例子是一個(gè)控制臺程序,程序一開始便啟動(dòng)了10個(gè)線程,每個(gè)線程運(yùn)行5秒鐘時(shí)間。由于線程的IsBackground屬性默認(rèn)為false,即它們都是前臺線程,所以盡管程序的主線程很快就運(yùn)行結(jié)束了,但程序要到所有已啟動(dòng)的線程都運(yùn)行完畢才會結(jié)束。示例代碼如下: 

  using System; 
   
  using System.Threading; 
   
  class MyApp 
   
  { 
   
  public static void Main () 
   
  { 
   
  for (int i=0; i<10; i++) { 
   
  Thread thread = new Thread (new ThreadStart (ThreadFunc)); 
   
  thread.Start (); 
   
  } 
   
  } 
   
  private static void ThreadFunc () 
   
  { 
   
  DateTime start = DateTime.Now; 
   
  while ((DateTime.Now - start).Seconds <5) 
   
  ; 
   
  } 
   
  } 
   

[1] [2]  下一頁




主站蜘蛛池模板: 婷婷五月在线视频 | 亚洲人视频在线 | 日韩第四页 | 天天澡天天碰天天狠伊人五月 | 在线看欧美成人中文字幕视频 | 午夜在线观看免费视频 | 日本一区免费看 | 视频二区日韩 | 天天操天天射天天操 | 人人看操| 欧美天天在线 | 亚洲精品成人久久久影院 | 香蕉人人超| 天天av天天翘天天综合网 | 欧美在线视频免费观看 | 四虎www免费人成 | 亚洲三级免费 | 在线九色| 亚洲欧美一区二区三区不卡 | 日本一二三区高清 | 日韩三级视频在线观看 | 日韩特黄毛片 | 日韩在线视频精品 | 涩涩涩丁香色婷五月网视色 | 青娱乐极品视频在线 | 四虎影视www四虎免费 | 亚洲精品在线免费观看视频 | 亚洲欧美日韩高清一区二区一 | 三级黄色免费看 | 天天添天天射 | 天堂在线xw| 软萌小仙自慰喷白浆 | 欧美在线播放 | 欧美一块操 | 一级女人18片毛片免费视频 | 欧美在线中文字幕高清的 | 五月婷婷六月丁香综合 | 午夜影视在线免费观看 | 日韩欧美在线视频观看 | 青草视频在线观看免费网站 | 日本国产亚洲 |