Java EE———进程与线程的区别与联系

一、进程

  1. 进程是操作系统对一个正在运行的程序的一种抽象

  2. 进程是操作系统进行资源分配的基本单位

  3. 进程控制块(PCB)

    (1)是一个非常大的结构体,具有很多属性

    (2)包含:

      pid———进程的唯一标识,身份标识符

    内存指针———需要知道执行的指令在哪,依赖的数据在哪

    文件描述符表———和硬盘交互时硬盘上的数据就是文件形式组织。每打开一个文件,文件的信息就会保存到文件描述符表中。

  4. 进程运行,执行指令都靠cpu,需要消耗cpu资源

  5. 进程运行依赖硬盘,网卡等相关资源设备

  6. cpu分配———进程调度

(1)进程状态:(两个典型)就绪态,阻塞态

(2)进程优先级

(3)进程上下文:1)保存上下文:把cpu中的寄存器值保存到内存中

                                 2)恢复上下文:把PCB中刚才保存的属性填回相应的寄存器中

(4)进程的记账信息:统计每个进程在cpu上的运行时间

二、进程与线程(Thread)区别

  1.线程创建、销毁的开销更小

(1)创建/销毁/调度线程比进程更快

    2.关于资源申请与释放

(1)进程:创建需要申请资源,销毁需要释放资源

(2)线程:只有第一个线程创建时(和进程一起创建时)申请资源,只有所有线程都销毁时才释放资源。

  3.联系

(1)每个进程至少有一个线程,为主线程

(2)进程与进程间不共享内存空间(稳定性);线程与线程之间共享内存空间。

(3)一个进程挂了不影响其他进程。

(4)一个线程挂了可能连带着其他线程一起崩溃。(如果及时捕捉到线程抛出的异常,处理掉,也不一定导致进程终止。

(5)每个线程都会有一份(调度相关,状态,优先级,记账信息,上下文)的数据,但共用一个文件描述符表和内存指针。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值