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() | 方法,终止线程 |