进程、程序、线程、多线程、并发、并行详解
2018-09-21 00:38
1051 查看
本人初入golang开发方向,目前刚入门。在代码开发过程中,需要提前了解一下进程、线程、多线程、并发、并行等专业知识的概念。
首先,并行与并发都是程序多线程处理场景,因此,一旦提到并行与并发,那首先想到的是多线程。
那么说到多线程,首先要了解一下什么是进程,什么是线程?
进程
狭义理解就是操作系统中一段程序的执行过程。那么广义上,进程是指一个具有一定独立功能的程序操作系统中关于某个数据集合进行的一次运行活动。是操作系统程序动态执行的基本单元。在传统的操作系统中,进程既是一个操作系统的基本分配单元,也是操作系统的基本执行单元。
1、首先,进程是一个实体,每一个进程都有自己对应的系统分配的内存地址,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态b60
分配的内存;堆栈区域存储着活动过程调用的指令和本地变量;
2、进程可以理解为一个正在执行的程序,程序是一个静态的没有生命体征的实体,而经过操作系统处理对其赋予生命时(即调用程序执行操作),这个程序才可以变为一个活动的、有生命体征的实体,即进程。
3、进程共有三种状态:就绪、阻塞和运行。
(1)、就绪态:就绪状态是指程序已达到可以运行的状态,只等CPU分配资源就可以运行的状态。
(2)、阻塞态:当程序运行条件没有满足时,需要等待条件满足时候才能执行时所处的状态,如等待i/o操作时候,此刻的状态就叫阻塞态。
(3)、运行态:进程占用CPU,并在CPU上运行。即程序正在运行时所处的状态。
进程状态转换在此处不在赘述,请看下一篇文章。
相关文章推荐
- Java 多线程编程之一 进程与线程,并发和并行的区别:吃馒头的比喻
- Java并发01:进程、线程、并发、并行、多线程、线程安全、死锁、并发优缺点
- Java高并发程序-Chapter2 Java并行程序基础 (第四讲)进程和线程
- 进程和线程的区别、多进程与多线程、并行与并发、多任务
- 线程,进程。多进程,多线程。并发,并行的区别
- Java 多线程编程之一 进程与线程,并发和并行的区别:吃馒头的比喻
- Java 多线程编程之一 进程与线程,并发和并行的区别
- Java多线程中的进程,线程,并行,并发
- 线程与进程,多线程,多进程,线程并发,线程并行
- 基础知识:线程,进程。多进程,多线程。并发,并行的区别
- 并发、并行、异步、同步、单进程、多进程、多线程...
- 【深入分析JAVA多线程】(1)详解进程、线程以及线程安全
- 进程、线程、微线程、并发、并行、同步、异步、阻塞、非阻塞
- 并发和并行 进程和线程的概念
- java核心知识点学习----并发和并行的区别,进程和线程的区别,如何创建线程和线程的四种状态,什么是线程计时器
- 线程,进程.程序,多线程区别
- [面试]进程与线程的区别联系,并发和并行的区别
- 进程,线程和协程 并行与并发
- Java第七课 Java的多线程程序进程和线程的概念,实现多线程的两种方式,线程同步的原理,线程的死锁,运用wait和notify来实现producer - consumer关系,线程终止的两种情况。
- 进程与线程、并发与并行、同步与异步的区别