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

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

C#線(xiàn)程控制介紹

這篇文章主要講解了“C#線(xiàn)程控制介紹”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“C#線(xiàn)程控制介紹”吧!

創(chuàng)新互聯(lián)制作網(wǎng)站網(wǎng)頁(yè)找三站合一網(wǎng)站制作公司,專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站制作、網(wǎng)站設(shè)計(jì),網(wǎng)站設(shè)計(jì),企業(yè)網(wǎng)站搭建,網(wǎng)站開(kāi)發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為1000+服務(wù),創(chuàng)新互聯(lián)網(wǎng)站建設(shè)將一如既往的為我們的客戶(hù)提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣服務(wù)!

在C#中,C#線(xiàn)程控制是如何開(kāi)始的呢?線(xiàn)程入口是通過(guò)ThreadStart代理(delegate)來(lái)提供的,你可以把ThreadStart理解為一個(gè)函數(shù)指針,指向線(xiàn)程要執(zhí)行的函數(shù),當(dāng)調(diào)用Thread.Start()方法后,線(xiàn)程就開(kāi)始執(zhí)行ThreadStart所代表或者說(shuō)指向的函數(shù)。

打開(kāi)你的VS.net,新建一個(gè)控制臺(tái)應(yīng)用程序(Console Application),編寫(xiě)完全C#線(xiàn)程控制的代碼示例:

using System;  using System.Threading;   namespace ThreadTest{  public class Alpha{   public void Beta(){   while (true){   Console.WriteLine(  "Alpha.Beta is running in its own thread.");    }   }   };   public class Simple{  public static int Main(){    Console.WriteLine("Thread Start/Stop/Join Sample");  Alpha oAlpha = new Alpha();    file://這里創(chuàng)建一個(gè)線(xiàn)程,使之執(zhí)行Alpha類(lèi)的Beta()方法   Thread oThread = new Thread(new ThreadStart(oAlpha.Beta));  oThread.Start();   while (!oThread.IsAlive)  Thread.Sleep(1);    oThread.Abort();  oThread.Join();  Console.WriteLine();  Console.WriteLine("Alpha.Beta has finished");    try {    Console.WriteLine("Try to restart the Alpha.Beta thread");  oThread.Start();   }   catch (ThreadStateException){  Console.Write(  "ThreadStateException trying to restart Alpha.Beta. ");    Console.WriteLine(  "Expected since aborted threads cannot be restarted.");    Console.ReadLine();  }   return 0;  }   }  }

這段C#線(xiàn)程控制程序包含兩個(gè)類(lèi)Alpha和Simple,在創(chuàng)建線(xiàn)程oThread時(shí)我們用指向Alpha.Beta()方法的初始化了ThreadStart代理(delegate)對(duì)象,當(dāng)我們創(chuàng)建的線(xiàn)程oThread調(diào)用oThread.Start()方法啟動(dòng)時(shí),實(shí)際上程序運(yùn)行的是Alpha.Beta()方法:

Alpha oAlpha = new Alpha();   Thread oThread = new Thread(new ThreadStart(oAlpha.Beta));   oThread.Start();

然后在Main()函數(shù)的while循環(huán)中,我們進(jìn)行C#線(xiàn)程控制使用靜態(tài)方法Thread.Sleep()讓主線(xiàn)程停了1ms,這段時(shí)間CPU轉(zhuǎn)向執(zhí)行線(xiàn)程oThread。然后我們?cè)噲D用Thread.Abort()方法終止線(xiàn)程oThread,注意后面的oThread.Join(),Thread.Join()方法使主線(xiàn)程等待,直到oThread線(xiàn)程結(jié)束。你可以給Thread.Join()方法指定一個(gè)int型的參數(shù)作為等待的最長(zhǎng)時(shí)間。之后,我們?cè)噲D用Thread.Start()方法重新啟動(dòng)線(xiàn)程oThread,但是顯然Abort()方法帶來(lái)的后果是不可恢復(fù)的終止線(xiàn)程,所以***程序會(huì)拋出ThreadStateException異常。

感謝各位的閱讀,以上就是“C#線(xiàn)程控制介紹”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)C#線(xiàn)程控制介紹這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


本文題目:C#線(xiàn)程控制介紹
文章轉(zhuǎn)載:http://weahome.cn/article/igeohd.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部