1、進程數組
一、進程類是指 Process 類,該類所在的命名空間是 System.Diagnostics。快捷鍵應用:alt+shift+f10微信
二、進程是操做系統資源分配的基本單位。每個應用程序都是進程。spa
三、在獲取當前操做系統中運行的進程時,若是要獲取全部運行的進程的信息可使用 GetProcesses() 方法操作系統
來打開電腦中的應用程序 如:qq、微信、計算器等等線程
四、須要注意的是,一些進程因爲權限不夠是沒法關閉的,所以在關閉進程的代碼中要作異常處理。進程
五、Process 類的經常使用屬性和方法以下表所示。
資源
屬性或方法 | 說明 |
---|---|
MachineName | 屬性,獲取關聯進程正在其上運行的計算機的名稱 |
Id | 屬性,獲取關聯進程的惟一標識符 |
ExitTime | 屬性,獲取關聯進程退出的時間 |
ProcessName | 屬性,獲取該進程的名稱 |
StartTime | 屬性,獲取關聯進程啓動的時間 |
Threads | 屬性,獲取在關聯進程中運行的一組線程 |
TotalProcessorTime | 屬性,獲取此進程的總的處理器時間 |
UserProcessorTime | 屬性,獲取此進程的用戶處理器時間 |
Close() | 方法,釋放與此組件關聯的全部資源 |
CloseMainWindow() | 方法,經過向進程的主窗口發送關閉消息來關閉擁有用戶界面的進程 |
Dispose() | 方法,釋放由 Component 使用的全部資源 |
GetCurrentProcess() | 方法,獲取新的 Process 組件,並將其與當前活動的進程關聯 |
GetProcesses() | 方法,爲本地計算機上的每一個進程資源建立一個新的 Process 組件 |
GetProcesses(String) | 方法,爲指定計算機上的每一個進程資源建立一個新的 Process 組件 |
GetProcessesByName(String) | 方法,建立新的 Process 組件的數組,並將它們與本地計算機上共享指定的進程名稱的全部進程資源關聯 |
Kill() | 方法,當即中止關聯的進程 |
Start() | 方法,啓動(或重用)此 Process 組件的 Startinfo 屬性指定的進程資源, 並將其與該組件關聯 |
Start(String) | 方法,經過指定文檔或應用程序文件的名稱來啓動進程資源,並將資源與新的 Process 組件關聯文檔 |
2、線程(Thread)it
一、線程是任務調度和執行的基本單位io
二、線程(Thread)是包含在進程中的,它位於 System.Threading 命名空間中。
三、包含關係: 進程由多個線程組成 ,沒有線程的進程能夠看作是單線程的。若是一個進程內有多個線程,則執行過程不是一條的,而是多條線(線程)共同完成;
線程是進程的一部分,因此線程被爲輕權進程或者輕量級線程
四、線程分爲前臺線程和後臺線程、
(1)前臺線程:只有全部的前臺線程都才能完成程序關閉
主線程;默認建立線程 是前臺線程;須要用 th.IsBackground = true;//將線程設爲後臺線程
(2)後臺線程;只要全部的前臺線程結束,後臺線程自動結束
五、Thread 類主要用於實現線程的建立以及執行,其經常使用的屬性和方法以下表所示。
屬性或方法 | 說明 |
---|---|
Name | 屬性,獲取或設置線程的名稱 |
Priority | 屬性,獲取或設置線程的優先級 |
ThreadState | 屬性,獲取線程當前的狀態 |
IsAlive | 屬性,獲取當前線程是否處於啓動狀態 |
IsBackground | 屬性,獲取或設置值,表示該線程是否爲後臺線程 |
CurrentThread | 屬性,獲取當前正在運行的線程 |
Start() | 方法,啓動線程 |
Sleep(int millisecondsTimout) | 方法,將當前線程暫停指定的毫秒數 |
Suspend() | 方法,掛起當前線程(已經被棄用) |
Join() | 方法,阻塞調用線程,直到某個線程終止爲止 |
Interrupt() | 方法,中斷當前線程 |
Resume() | 方法,繼續已經掛起的線程(已經被棄用) |
Abort() | 方法,終止線程 |