烟台网站建设招聘,犀牛云做网站做网站需要多钱,无锡网站建设制作公司,施工企业入外省名单公示一、进程与线程
1、进程
1.1、定义 操作系统中最核心的概念就是进程#xff0c;进程是对正在运行中的程序的一个抽象#xff0c;是系统进行资源分配和调度的基本单位。进程是一种抽象的概念#xff0c;一般由程序、数据集合和进程控制块三部分组成#xff0c;如下#x…一、进程与线程
1、进程
1.1、定义 操作系统中最核心的概念就是进程进程是对正在运行中的程序的一个抽象是系统进行资源分配和调度的基本单位。进程是一种抽象的概念一般由程序、数据集合和进程控制块三部分组成如下 程序用于描述进程要完成的功能是控制进程执行的指令集数据集合是程序在执行时所需要的数据和工作区程序控制块包含进程的描述信息和控制信息是进程存在的唯一标志
1.2、进程间通信方式 据进程通信时信息量大小的不同可以将进程通信划分为两大类型如下 低级通信 控制信息的通信(主要用于进程之间的同步互斥等控制信息的传递)高级通信 大批数据信息的通信(主要用于进程间数据块数据的交换和共享常见的高级通信有管道消息队列共享内存等) 进程间的通信方式有下面几种 管道通信管道通常指无名管道是一种半双工的通信方式数据只能单向流动。当一个管道建立时它会创建两个文件描述符fd[0]为读而打开fd[1]为写而打开消息队列消息队列是消息的链接表包括Posix消息队列system V消息队列存放在内核中并由消息队列标识符(即队列ID)标识共享内存共享内存就是映射一段能被其他进程所访问的内存这段共享内存由一个进程创建但多个进程都可以访问信号量信号量是一个计数器可以用来控制多个进程对共享资源的访问
2、线程
2.1、定义 线程thread是操作系统能够进行运算调度的最小单位其是进程中的一个执行任务控制单元负责当前进程中程序的执行。一个进程至少有一个线程一个进程可以运行多个线程这些线程共享同一块内存线程之间可以共享对象、资源如果有冲突或需要协同还可以随时沟通以解决冲突或保持同步。 2.2、线程间通信方式 线程间的通信目的主要是用于线程同步所以线程没有像进程通信中的用于数据交换的通信机制下面是常用的线程通信机制如下 锁机制通过锁实现线程同步信号量机制线程的信号和进程的信号量类似使用线程的信号量可以高效地完成基于线程的资源计数
2.3、线程同步 实现线程同步的方式有很多种最常见的就是使用锁机制实现线程同步线程同步的最终目标是实现对共享资源的安全访问。 3、进程与线程的区别 进程是资源分配的最小单位线程是CPU调度的最小单位进程与线程的区别如下 进程线程概念进程是对正在运行中的程序的一个抽象是系统进行资源分配和调度的基本单位线程thread是操作系统能够进行运算调度的最小单位其是进程中的一个执行任务控制单元负责当前进程中程序的执行内存分配系统在运行的时候会为每个进程分配不同的内存空间系统不会为线程分配内存线程所使用的资源来自其所属进程的资源线程组之间只能共享进程资源切换开销每个进程都有独立的代码和数据空间程序上下文程序之间的切换会有较大的开销线程可以看做轻量级的进程同一类线程共享代码和数据空间每个线程都有自己独立的运行栈和程序计数器PC线程之间切换的开销小包含关系一个进程可以包含多个线程轻量级进程