且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

进程与线程的区别

更新时间:2021-10-16 00:27:01

备战2022春招或暑期实习,祝大家每天进步亿点点!Java并发编程Day1

本篇总结的是 如何在Java中避免创建不必要的对象,后续会每日更新~

关于《我们一起学Redis》、《我们一起学HarmonyOS》等知识点可以查看我的往期博客

相信自己,越活越坚强,活着就该逢山开路,遇水架桥!生活,你给我压力,我还你奇迹!进程与线程的区别目录


1、进程


2、线程


3、进程和线程二者关系


4、通信方式


1、进程

百度百科解释


进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。



进程

程序由指令和数据组成,指令运行在CPU中,数据读写需要使用到内存,此外还需要磁盘和网络等设备。进程就是用来加载指令、管理内存、管理IO资源的。进程可以被视为程序的一个实例,大部分程序可以同时运行多个实例进程(浏览器、IDEA等),部分程序只能启动一个实例进程(QQ、微信等)。


2、线程

百度百科解释


线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。


线程

一个进程中有多个线程,进程可以看作线程的容器。一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给CPU执行。


3、进程和线程二者关系

进程之间基本相互独立,线程存在进程中,是进程的一个子集

进程拥有的共享资源,如内存等,供其内的线程共享

4、通信方式

进程通信方式

进程的通信方式较为复杂,同一台计算机的进程通信称为IPC(Inter-process communication),不同计算机之间的进程通信,需要通过网络约定协议进行通信。


线程通信方式

线程通信方式比较简单,它们可以共享进程内的内存,因此可以访问相同内存进行通信。