c#学习笔记——进程(process)与线程(thread)

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() 方法,终止线程
相关文章
相关标签/搜索