2023-11-06 bigbai
1、标签,空格分隔,:多线程并发编程。在开始学习多线程编程之前,先来学习下进程和线程。
2、进程是指具有一定独立功能的程序在某个数据集合上的一次运行活动,是系统进行资源分配和调度运行的一个基本单位。简单地说,进程是程序在计算机上的一次执行活动,当你启动了一个程序,你就启动了一个进程,退出一个程序,也就结束了一个进程。打开任务管理器-->详细信息,可以看到系统下有很多进程在运行。
3、程序并不等于进程。程序只是一组指令的有序集合,它本身没有任何运行的含义,只是一个静态实体。
4、进程是程序在某个数据集上的执行,是一个动态实体。程序只有被装入内存后才能运行,程序一旦进入到内存就成为进城了,因此,进程的创建过程也就是程序从外存储器(硬盘或者网卡)被加载到内存的过程。
5、进程因创建而产生,因调度而运行,因等待资源或事件而处于等待状态,因完成任务而销毁,它反映了一个程序在一定的数据集上运行的全部动态过程。进程在其存在过程中,由于多个进程的并发执行,受到、外部设备等资源的制约,使得它们的状态不断发生变化。
1、进程的基本状态有三种:就绪状态、运行状态、阻塞状态。三种状态可以相互转化。就绪状态:进程获得除了之外的一切运行所需的资源,等待获得,一旦获得即可立即运行。(如数据已经准备好,或者接收到有新数据,需要来处理)。
2、运行状态:进程获得了包括在内的一切资源,正在上运行。(正在运行指令,处理数据)。阻塞状态:正在上运行的进程,由于某种原因,不再具备运行的条件。
3、而暂时停止运行。(比如需要等待/完成、当前进程的时间片耗尽、等待其他进程发来消息、等待用户完成输入等)。进程调度:当就绪进程的数目多于的数目时,需要按照一定的算法动态地将分配给就绪进程队列中的某一个进程,并使之运行,这就是所谓的进程调度。
4、当分配给某个进程的运行时间(时间片)用完了时,进程就会有运行状态回到就绪状态。运行中的进程如果需要执行/操作,比如从键盘输入数据,就会进入到阻塞状态等待/操作完成,/操作完成后,就会转入就绪状态等待下一次调度。进程调度的关键是进程调度算法。进程调度算法解决两个问题:一是当空闲时,选择哪个就绪进程运行;二是进程占有后,它能运行多长时间。
5、后一个问题也称为调度方式。调度方式有两种:不可抢占(或不可剥夺)方式和可抢占(或可剥夺)方式。
原文链接:https://www.bigbai.cc/news/7382.html
本文版权:如无特别标注,本站文章均为原创。