您的位置:首页 > 编程语言 > C#

C#关于进程与线程(一)

2014-11-19 14:46 330 查看
       进程是程序在内存中的一次运行,是系统进行资源分配的最小单位。一个进程可以包含多个线程。可以简单地理解为操作系统当前运行的执行程序。一般而言,在系统当前运行的执行程序里包括系统管理计算机个体和完成各种操作所必须的程序;用户开启、执行的额外程序等,也可能包含自动运行的非法程序。

       线程,也被称为轻量进程,指运行中程序的调度单位。目前大部分平台都支持多线程,允许程序中存在多个线程。由于一个程序的各线程是在相同的地址空间运行的,因此涉及如何共享内存,如何通信等问题,这样便需要处理各线程之间的同步问题,这是多线程编程中的一个难点。

       进程和线程是计算机科学专业“操作系统”课程中的重要知识,对此感兴趣的读者可以查阅相关类书籍。本章主要讲解如何在C#中进行进程的管理和线程的应用,不涉及“操作系统”课程中的理论知识。

一、使用进程加载应用程序

    进程在C#中由类Process表示,通过Process类的StartInfo中的各个属性值设置来配置进程的相关属性。待属性设置完毕后,可以使用Start方法开始该进程。

using System.Diagnostics;

class program

{

     static void Main(string[ ] args)

     {

          //声明一个进程(Process)变量,用于启动程序

          Process p=new Process();

          //此处定义了要启动程序的名称

          //由于记事本位于系统文件夹内,所以不需要给出完整路径名称

          p.StartInfo.FileName= "notepad.exe";

          try

            {

                Console.WriteLine("进程启动中。。。");

                p.Start();

            }

            catch(Exception e)

             {

                 Console.WriteLine("启动失败!");

                 Console.WriteLine(e.Message);

             }

            finally

             {

                 p=null;

             }

     }

}

使用进程不仅可以启动可执行文件(.exe),还可以启动其他类型的文件。下面的步骤介绍了如何启动其他类型的文件

using System.Diagnostics;

class Program

{

    static void Main(string[ ]  args)

     {

          //声明一个进程(Process)变量,用于启动程序

          Process p=new Process();

          //此处定义了要启动程序的名称

          //由于记事本位于系统文件夹内,所以不需要给出完整路径名称

          p.StartInfo.FileName= @" C:\boot.ini";

          try

           {

                 Console.WriteLine("进程启动中。。。");

                 p.Start();

           }

           catch(Exception e)

            {

                  Console.WriteLine("启动失败!");

                  Console.WriteLine(e.Message);

            }

            finally

            {

                 p=null;

            }

     }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: