欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

C#多線程編程技術(shù)基礎(chǔ)知識入門

什么是進程?

10年積累的網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有湞江免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

當一個程序開始運行時,它就是一個進程,進程包括運行中的程序和程序所使用到的內(nèi)存和系統(tǒng)資源。而一個進程又是由多個線程所組成的。

什么是線程?
線程是程序中的一個執(zhí)行流,每個線程都有自己的專有寄存器(棧指針、程序計數(shù)器等),但代碼區(qū)是共享的,即不同的線程可以執(zhí)行同樣的函數(shù)。

什么是多線程?

多線程是指程序中包含多個執(zhí)行流,即在一個程序中可以同時運行多個不同的線程來執(zhí)行不同的任務(wù),也就是說允許單個程序創(chuàng)建多個并行執(zhí)行的線程來完成各自的任務(wù)。

多線程是指程序中包含多個執(zhí)行流,即在一個程序中可以同時運行多個不同的線程來執(zhí)行不同的任務(wù),也就是說允許單個程序創(chuàng)建多個并行執(zhí)行的線程來完成各自的任務(wù)。

我們以前學(xué)習(xí)過的統(tǒng)籌方法,實際上就是一種多線程的應(yīng)用。一件事,我們可以分成幾個幾部分來做,可以并行來完成,節(jié)省時間。當然這個和計算機實現(xiàn)的多線程是有許多不同的。瀏覽器就是一個多線程程序,可以邊下載,邊聽歌,邊瀏覽網(wǎng)頁。

多線程可以提高CPU的利用率,但是使用不當也會帶來問題,主要是內(nèi)存開銷和管理復(fù)雜。另外需要特別指出,在單核CPU的情況下,同一時間只能執(zhí)行一個線程,是偽多線程,而在多核CPU上,多線程才可以真正的在多個processor同時執(zhí)行。

多線程的好處:

可以提高CPU的利用率。在多線程程序中,一個線程必須等待的時候,CPU可以運行其它的線程而不是等待,這樣就大大提高了程序的效率。

多線程的不利方面:

線程也是程序,所以線程需要占用內(nèi)存,線程越多占用內(nèi)存也越多; 多線程需要協(xié)調(diào)和管理,所以需要CPU時間跟蹤線程; 線程之間對共享資源的訪問會相互影響,必須解決競用共享資源的問題;線程太多會導(dǎo)致控制太復(fù)雜,最終可能造成很多Bug;

接下來將對C#編程中的多線程機制進行探討。為了省去創(chuàng)建GUI那些繁瑣的步驟,更清晰地逼近線程的本質(zhì),接下來的所有程序都是控制臺程序,程序最后的Console.ReadLine()是為了使程序中途停下來,以便看清楚執(zhí)行過程中的輸出。

任何程序在執(zhí)行時,至少有一個主線程。
一個直觀印象的線程示例:

using System;
using System.Threading;
namespace ThreadTest
{
  class RunIt
  {
   [STAThread]static void Main(string[] args)
     {
      Thread.CurrentThread.Name=”System Thread”;//給當前線程命名
      Console.WriteLine(Thread.CurrentThread.Name+”‘Status:”+Thread.CurrentThread.ThreadState);
	  Console.ReadLine();
	 }
 }

}

輸出如下:

System Thread's Status:Running

在這里,我們通過Thread類的靜態(tài)屬性CurrentThread獲取了當前執(zhí)行的線程,對其Name屬性賦值“System Thread”,最后還輸出了它的當前狀態(tài)(ThreadState)。

所謂靜態(tài)屬性,就是這個類所有對象所公有的屬性,不管你創(chuàng)建了多少個這個類的實例,但是類的靜態(tài)屬性在內(nèi)存中只有一個。很容易理解CurrentThread為什么是靜態(tài)的——雖然有多個線程同時存在,但是在某一個時刻,CPU只能執(zhí)行其中一個。

在程序的頭部,我們使用了如下命名空間:

using System;
using System.Threading;

在.net framework class library中,所有與多線程機制應(yīng)用相關(guān)的類都是放在System.Threading命名空間中的。如果你想在你的應(yīng)用程序中使用多線程,就必須包含這個類。

我們通過其中提供的Thread類來創(chuàng)建和控制線程,ThreadPool類用于管理線程池等。(此外還提供解決了線程執(zhí)行安排,死鎖,線程間通訊等實際問題的機制。)

Thread類有幾個至關(guān)重要的方法,描述如下:

Start():啟動線程;

Sleep(int):靜態(tài)方法,暫停當前線程指定的毫秒數(shù);

Abort():通常使用該方法來終止一個線程;

Suspend():該方法并不終止未完成的線程,它僅僅掛起線程,以后還可恢復(fù);

Resume():恢復(fù)被Suspend()方法掛起的線程的執(zhí)行。

到此這篇關(guān)于C# 多線程編程技術(shù)基礎(chǔ)知識的文章就介紹到這了,更多相關(guān)C# 多線程編程內(nèi)容請搜素創(chuàng)新互聯(lián)以前的文章或下面相關(guān)文章,希望大家以后多多支持創(chuàng)新互聯(lián)!

網(wǎng)站欄目:C#多線程編程技術(shù)基礎(chǔ)知識入門
標題URL:http://aaarwkj.com/article42/gdedec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司外貿(mào)建站、網(wǎng)站設(shè)計微信公眾號、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
亚洲一级香蕉视频东京热| 四虎在线经典视频播放| 欧美日韩国产成人激情| 年轻的少妇一区二区三区| 中文字幕人妻在线播放| 日本国内一区二区三区四区视频| 肥臀大屁股av在线播放| 日本成人一区二区三区视频| 亚洲福利一区福利三区| 色婷婷中文字幕久久久| 五月婷婷六月丁香激情视频| 国产片精品一区在线观看| 日韩新片一区二区三区| 欧美亚洲av一区二区三区| 国产女同互慰一区二区| 日韩欧美一区二区三区不卡在线 | 国产精品原创传媒在线观看| 欧美日韩精品一区二区在线播放| 亚洲午夜精品理论在线不卡| 国产一区二区三区区别| 日本在线一区二区三区免费视频| 成人深夜免费观看视频| 欧美一区二区欧美精品| 永久黄区观看在线网址| 韩国成人伦理片在线观看| 高清国产国产精品三级国产av| 欧美三级亚洲三级日韩三级| 日韩版色视频在线观看| 五月婷婷六月丁香综合激情| 国产一级二级三级大胆视频 | 亚洲国产中文一区二区久久| 四虎精品视频在线播放| 国产97成人亚洲综合在线| 亚洲乱码日韩电影网站| 国产欧美日韩午夜激情| 精品少妇熟女av免费久久| 一区二区亚洲欧美精品| 亚洲最大av在线精品国产| 99精品国产一区二区青青性色| 日韩国产欧美一区二区三区| 青青草视频免费公开播放|