【JAVAEE】进程和线程

目录

1.什么是进程?

进程

进程控制块抽象(PCB)

2.什么是线程

线程

使用多线程的原因

线程和进程的区别

多线程可能存在的问题

什么是并发?什么是并行?


1.什么是进程?

进程

每个应用程序运行于现代操作系统之上时,操作系统会提供一种抽象,好像系统上只有这个程序在运行,所有的硬件资源都被这个程序在使用。这种假象是通过抽象了一个进程的概念来完成的,进程可以 说是计算机科学中最重要和最成功的概念之一。
进程 是操作系统对一个正在运行的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程。
在操作系统内部,进程又是操作系统进行资源分配的 基本单位
每一个运行起来的程序,操作系统都会以进程的形式把它管理起来。

进程控制块抽象(PCB)

为了描述控制进程的运行,系统中存放进程的管理和控制信息的数据结构称为进程控制块(PCB Process Control Block),它是进程实体的一部分,是操作系统中最重要的记录性数据结构。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤消而撤消。

在操作系统中每一个进程被描述成一个PCB。

计算机内部要管理任何现实事物,都需要将其抽象成一组有关联的、互为一体的数据。在 Java 语言中,我们可以通过类 / 对象来描述这一特征。
// 以下代码是 Java 代码的伪码形式,重在说明,无法直接运行
class PCB {
    // 进程的唯一标识 —— pid;
    // 进程关联的程序信息,例如哪个程序,加载到内存中的区域等
   // 分配给该资源使用的各个资源
    // 进度调度信息(留待下面讲解)
}
这样,每一个 PCB 对象,就代表着一个实实在在运行着的程序,也就是进程。
操作系统再通过这种数据结构,例如线性表、搜索树等将 PCB 对象组织起来,方便管理时进行增删查改的操作。
  • PID:进程的编号
  • 内存指针:应用程序申请到的内存首地址
  • 优先级:优先级高的进程理论上会更快的被调度到CPU上执行
  • 进程的状态:运行,就绪,阻塞
  • 上下文件信息,记账信息:记录了进程当前执行到哪里

 

2.什么是线程

线程

当进程启动时:

1.申请内存

2.申请文件资源

3.将PCB加入到链表中

当进程结束时:

1.释放资源

2.释放内存

3.从链表中删除PCB

这些申请和释放资源的操作是非常耗时的,为了解决资源消耗的问题,提出一个轻量级概念------线程。创建线程只关注要处理的任务,使用的是进程创建时申请到的所有资源。

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

使用多线程的原因

1.充分利用CPU资源

2.利用轻量级进程的特性减少系统性能的开销

        a.线程创建的效率比进程高

        b.线程销毁的效率比进程高

        c.线程调度的效率比进程高

线程和进程的区别

1.每个进程至少有一个线程存在,即主线程

2.进程是申请系统资源的最小单位

3.线程是CPU调度的最小单位

4.进程之间互不影响,线程之间可以影响

多线程可能存在的问题

举例说明:这里有100只鸡,需求是让滑稽老铁吃完

使用多进程的方式,那么需要再弄一张桌子,两边各50只鸡

使用多线程来处理,增加滑稽数量

继续增加滑稽数量,效率增加

那么是否可以无限增加呢?

资源争抢问题出现,此时就会出现线程不安全的问题

什么是并发?什么是并行?

并发:操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。

并行:在操作系统中是指,一组程序按独立异步的速度执行,无论从微观还是宏观,程序都是一起执行的。对比地,并发是指:在同一个时间段内,两个或多个程序执行,有时间上的重叠(宏观上是同时,微观上仍是顺序执行。

通俗来讲:

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值