Visual C#程序设计应用教程第8章-进程与线程.pptVIP

Visual C#程序设计应用教程第8章-进程与线程.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * 本章要点 进程和线程的概念 线程的基本管理 进程与线程 8. 1 进程与线程的概念 8. 2 进程管理 8. 3 线程管理 8. 4 应用示例——多线程模拟ATM取款 8.1 进程与线程的概念 1.进程 进程是指应用程序的一次动态执行,它包括程序代码在内存中的映像以及进程所需的系统资源。通过Windows操作系统提供的任务管理器,可以看到系统中正在运行的所有进程信息。与进程相关的信息包括进程的用户标志、正在执行的已经编译好的程序、进程程序、数据在存储器中的位置等。 2.线程 一个进程可以划分为若干个独立的执行流,线程就是指这些独立的执行流。 任何一个C#程序都有一个默认的线程,此线程被称为主线程。主线程执行程序中Main方法中的代码。Main方法中的每一条语句都由主线程执行,当Main方法返回时,主线程也就自动终止。 除了主线程外,在程序中还可以创建其他线程。称为辅助线程,用于执行耗时的任务或时间要求紧迫的任务。 8.2 进程管理 在.NET Framework中,用于进程管理的Process类位于System.Diagnostics命名空间下,Process类的常用属性和方法见表8-1。 8.2.1 获取进程信息 8.2.2 启动和停止进程 例如,使用静态方法GetProcesses获得当前系统中的进程列表的代码如下: Process[ ] ps = Process. GetProcesses () ; 再如,下面的代码可使用Windows记事本打开C盘上的bootlog.Txt文件。 Process. Start(“Notepad. Exe”, “C: \\bootlog. Txt); 8.2.1 获取进程信息 通过调用Process的GetProcesses()方法可以得到一个Process类型的数组,表示系统正在执行的进程。 1. 获取本地计算机的所有进程 Process[ ] myProcess = Process.GetProcesses( ); 2. 获取本地计算机上指定名称的进程 Process[ ] myProcess = Process.GetProcessesByName(进程名称); 例如: Process[ ] myProcess = Process.GetProcessesByName (MyExeFile) ; 3. 获取远程计算机的所有进程 Proces [ ] myProcess = Process.GetProcesses (remoteMachineName) ; 例如: Proces [ ] myProcess = Process .GetProcesses (192 . 168.0.1) ; 4. 获取远程计算机上指定名称的进程 Process[ ] myProcess = Process.GetProcessesByName(processName, remoteMachineName); 例如: Process[ ] myProcess = Process.GetProcessesByName (Notepad, Serverl); 8.2.2 启动和停止进程 要启动某个进程,只需要调用Process组件的Start方法。例如: myProcess.Start( ); 对于由Process组件启动的进程,可以使用其HasExited属性确定是否已停止运行。如果关联的进程已关闭,该属性将返回true;如果进程仍在运行,则返回false。Process类的Kill方法用于强行终止进程,CloseMainWindow方法用于“请求终止进程”。例, if (!process1.HasExited) { process1.CloseMainWindow ( ); } 8.3 线程管理 System. Threading命名空间下的Thread类是专门用于线程管理的

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档