遗忘的基础概念——并发、并行、进程、线程
---恢复内容开始---
1、并行与并发(parallelism and concurrency)
并行性和并发性是既相似又有区别的两个概念。
并行性是指两个或多个事件在同一时刻发生。而并发性是指两个或多个事件在同一时间间隔内发生。
在多道处理程序环境下,并发性是指在一段时间内宏观上有多个程序在同时执行,但在单处理机系统中,每一时刻却仅能
有一道程序执行,故微观上这些程序只能是分时地交替执行。例如,在1秒钟时间内,0~15ms程序A执行;15~30ms程序B执行;
30~45ms内程序C执行;45~60ms程序D执行,因此可以说,在1秒中时间间隔内,宏观上有四道程序在同时运行,但在微观上,
程序A,B,C,D在分时地交替执行。
2、进程与线程
引入进程
在一个位引入进程的系统中,在属于同一个应用程序的计算程序和I/O程序之间只能是顺序执行,即只有在计算程序执行告一段落后,
才允许I/O程序执行;反之,在程序执行I/O操作时,计算程序也不能执行。但在为计算程序和I/O程序分别建立一个进程(Process)后,
这两个程序便可以并发执行。若对内存中的多个程序都分别建立一个进程,它们就可以并发执行,这样便能极大地提高系统资源利用率,增加
系统的吞吐量。
进程的定义
为了使参与并发执行的每个程序(含数据)都能够独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(Proscess Control Block,PCB)。
系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。这样,由程序段、相关数据段和PCB三部分便构成了进程实体。一般情况下,我们把进程实体
就简称为进程,例如,所谓创建进程,实质上就是创建进程实体的PCB;而撤销进程,实质上是撤销进程的PCB。
对于进程的定义,从不同的角度可以有不同的定义,其中较典型的定义有:
1、进程是程序的一次执行
2、进程是一个程序及数据在处理机上顺序执行时所发生的活动。
3、进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
线程(Threads)
人们在设计多道程序OS时,引入了进程的概念,从而解决了在单处理机环境下程序并发执行问题。
后来人们又提出了比进程更小的基本单位——线程的概念,试图用它来提高程序并发执行的程度。
目前我的理解是:线程是比进程更小的运行单位,一个进程可以被划分为多个线程。在一个支持线程
的系统中,线程是处理器的调度对象。线程作为处理器的调度单位,相当于进程中的一个控制点。由于
进程是资源的分配单位,所以一个进程中的线程共享进程的资源。线程之间的通信要比进程之间的通信
方便。
---恢复内容结束---
转载于:https://www.cnblogs.com/ManOK/p/10896645.html
- 点赞
- 收藏
- 分享
- 文章举报
- Python并发编程之常用概念剖析:并行 串行 并发 同步 异步 阻塞 非阻塞 进程 线程 协程
- 编程的基础知识:进程、程序、线程、多线程、并发、并行详解
- 基础知识:线程,进程。多进程,多线程。并发,并行的区别
- Java高并发程序-Chapter2 Java并行程序基础 (第四讲)进程和线程
- 操作系统中进程、线程、并行并发基本概念
- 并发和并行 进程和线程的概念
- 线程、进程的概念【多/单线程与多/单进程的区别】【并发与并行的区别】【CPU型号的识别】
- JAVA中一些概念的通俗易懂总结(线程进程并发并行各种)看不懂长篇大论的进来看看,几分钟了解
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_2_进程概念...
- JAVA中的并发和并行,进程和线程
- 进程、线程知识点总结和同步(消费者生产者,读者写者三类问题)、互斥、异步、并发、并行、死锁、活锁的总结
- 进程、线程、微线程、并发、并行、同步、异步、阻塞、非阻塞
- 并发和并行的区别,进程和线程的区别,如何创建线程和线程的四种状态,什么是线程计时器
- 线程、进程、并行、并发
- 并发程序设计(一)进程和线程的概念
- 并发与并行,进程、线程和协程之间的异同小节
- 进程与线程,并发和并行的区别:吃馒头的比喻
- 怎么区分理解线程进程、同步异步、并行并发
- Java高并发程序-Chapter2 Java并行程序基础 (第五讲)线程的基本操作
- Java 多线程编程之一 进程与线程,并发和并行的区别:吃馒头的比喻