C# 進程和線程

1、進程和線程編程

  進程是對一段靜態指令序列的動態執行過程,是系統進行資源分配和調度的基本單位。與進程相關的信息包括進程的用戶標誌、正在執行的已經編譯好的程序、程序和數據在存儲器中的位置等。同一個進程有能夠劃分爲若干個獨立執行流,稱之爲線程。線程是CPU調度的基本單位。例如在Windows環境下,用戶能夠同時運行多個應用程序,每一個致謝的應用程序就是一個進程。線程

  進程與線程的劃分對提升軟件的並行性很重要,實現分時處理。對象

 

2、Process類進程

  Process類是用於完成相關進程的相關處理任務,能夠在計算機上啓動和中止進程,也能夠查詢進程的相關信息。啓動進程的通常方法是:資源

(1)首先建立Process類的實例;同步

(2)設置對象的StartInfo屬性;it

(3)調用對象的Start方法啓動進程;io

 

3、Thread類編譯

  Thread類用於建立和控制線程,對線程的操做有:啓動線程,終止線程,合併線程,讓線程休眠。變量

一、啓動線程

首先建立一個線程

Thread t=new Thread(enterpoint);//enterpoint是線程的入口,即線程執行的方法。

二、終止線程

有兩種方法,方法一:事先設置一布爾變量,在其餘線程能夠修改該變量的值二傳遞給該線程,做爲它是否須要終止的判斷條件,而在該線程中循環檢測這個變量,以肯定是否退出該線程。實際編程中通常使用這種方法。方法二:經過調用Thread類的Abort方法強行終止線程。

三、合併線程

Join方法用於把兩個並行執行的線程合併爲一個線程。若是一個線程t1在執行的過程當中須要等待另外一個線程t2結束後才能繼續執行,能夠在t1的程序模塊中調用t2的Join方法。

四、讓線程休眠

調用Thread類的Sleep方法,即讓線程休眠。如 Thread.Sleep(1000);

五、線程優先級

當線程之間爭奪CPU的時間片時,CPU是按照線程的優先級進行服務的。如設置線程t的優先級爲最高,t.priority=ThreadPriority.Highest;

六、線程池

七、同步

同步,是指多個線程之間存在前後執行順序的關聯關係。 可使用lock語句使多個線程合符邏輯。

相關文章
相關標籤/搜索