进程与线程

进程和线程是操作系统中的基本概念。进程可比喻为工厂,线程则是工厂中的流水线。每个进程可以有多个线程共享资源,但不同进程间数据共享复杂。线程消耗资源少于进程,且同一进程内线程问题可能影响全部线程。以微信客户端为例,它是一个进程,由多个线程构成,各自执行不同任务。
摘要由CSDN通过智能技术生成

进程与线程

1. 定义(反正我是有点懵)

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

线程(thread) 是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

2.看这你就懂啦~

遇到这种来自百度百科的抽象的定义,相信大家和我最初一样一脸懵逼,几乎理解不了(大佬除外)~

接下来,我给大家做个简单的比喻来让大家能清楚的区分进程和线程

进程=工厂 线程=工厂中的流水线

  • 同一个工厂里面可以有很多流水线(同一个进程里面可以有多个线程)
  • 同一个工厂里面的原材料可以共用(同一个进程里面的线程容易共享资源
  • 如果A工厂需要B工厂的材料,就需要单独运输,比较麻烦(不同进程间数据很难共享
  • 工厂的用电量大于一条流水线的用电量(进程要比线程消耗更多的计算机资源
  • 如果A工厂失火,B工厂不受影响(进程之间不会相互影响
  • 如果A工厂的一部分流水线出现故障,其他正常的流水线必须等故障流水线修复好才可以继续生产(同一进程下,一个线程出现问题,其他线程也会停止

3. 具体例子你瞅瞅

举个具体例子:

我们在电脑上打开微信客户端,在任务管理器中,我们就会发现如下内容,这就是一个进程在这里插入图片描述

当点击其详细信息,会发现它由五个单独的线程构成,且五个线程同时进行

image-20210731203443848

并且,每个线程都有其独立的PID,这里的PID代表这个进程的代号,而我们传说中的Java虚拟机,本质上只是一个系统中的进程而已。具体可以在看看以下例图
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值