• C# 进程和线程


    一、进程和线程

      进程是对一段静态指令序列的动态执行过程,是系统进行资源分配和调度的基本单位。与进程相关的信息包括进程的用户标志、正在执行的已经编译好的程序、程序和数据在存储器中的位置等。同一个进程有可以划分为若干个独立执行流,称之为线程。线程是CPU调度的基本单位。例如在Windows环境下,用户可以同时运行多个应用程序,每个致谢的应用程序就是一个进程。

      进程与线程的划分对提高软件的并行性很重要,实现分时处理。

    二、Process类

      Process类是用于完成相关进程的相关处理任务,可以在计算机上启动和停止进程,也可以查询进程的相关信息。启动进程的一般方法是:

    (1)首先创建Process类的实例;

    (2)设置对象的StartInfo属性;

    (3)调用对象的Start方法启动进程;

    三、Thread类

      Thread类用于创建和控制线程,对线程的操作有:启动线程,终止线程,合并线程,让线程休眠。

    1、启动线程

    首先创建一个线程

    Thread t=new Thread(enterpoint);//enterpoint是线程的入口,即线程执行的方法。

    2、终止线程

    有两种方法,方法一:事先设置一布尔变量,在其他线程可以修改该变量的值二传递给该线程,作为它是否需要终止的判断条件,而在该线程中循环检测这个变量,以确定是否退出该线程。实际编程中一般使用这种方法。方法二:通过调用Thread类的Abort方法强行终止线程。

    3、合并线程

    Join方法用于把两个并行执行的线程合并为一个线程。如果一个线程t1在执行的过程中需要等待另一个线程t2结束后才能继续执行,可以在t1的程序模块中调用t2的Join方法。

    4、让线程休眠

    调用Thread类的Sleep方法,即让线程休眠。如 Thread.Sleep(1000);

    5、线程优先级

    当线程之间争夺CPU的时间片时,CPU是按照线程的优先级进行服务的。如设置线程t的优先级为最高,t.priority=ThreadPriority.Highest;

    6、线程池

    7、同步

    同步,是指多个线程之间存在先后执行顺序的关联关系。 可以使用lock语句使多个线程合符逻辑。

  • 相关阅读:
    openshift 调度命令
    k8s 高级调度 亲和力和反亲和力、绑定标签、污点容忍污点
    阿里云香港主机自动换IP
    python 调用阿里云服务器api创建服务器
    python 调用阿里云云解析api添加记录
    python 获取SLB信息 更换证书
    k8s 健康检查
    jenkins openshift 持续集成
    cnpm安装过程中提示optional install error: Package require os(darwin) not compatible with your platform(win32)解决方法
    Python学习笔记 chapter 2基础
  • 原文地址:https://www.cnblogs.com/NEIL-X/p/4622992.html
Copyright © 2020-2023  润新知