进程与线程的区别与联系

1. 进程的概念

进程是操作系统对一个正在运行的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程

在操作系统内部,进程又是操作系统进行资源分配的基本(最小)单位

2. 线程的概念

线程是有自己独立任务的代码逻辑

线程也称为轻量级进程

处理一件事件,申请一份资源就够了---线程

线程是系统调度(CPU调度)的最小单位

3. 进程的3种状态

a. 运行状态:获得CPU的进程处于此状态,对应的程序在CPU上运行着

b. 阻塞状态:为了等待某个外部事件的发生(如等待I/O操作的完成,或者等待另一个进程发来消息),暂时无法运行。

c. 就绪状态:具备了一切运行需要的条件,由于其他进程占用CPU而暂时无法运行

4. 线程的6种状态

a. NEW: 创建好了一个java的Thread对象,并安排好了任务,但是还没有开始执行;还没有调用start()方法之前,和PCB没有关系

b. RUNNABLE: 运行+就绪状态,在执行任务时候的一个常态之一

c. TIMED_WAITING: 指定了等待时间的一个阻塞状态,过时不候 .wait(time),sleep(time),join(time)

d. WAITING: 没有指定等待时间,一直死等

e. BLOCK: 等待的状态,阻塞状态中的一种

f. TERMINATED: 线程在CPU上结束,系统线程已经销毁,但是java对象还没有回收

5. 联系

(1)两者均可并发执行

(2)线程是指进程内的一个执行单元,一个程序至少有一个进程,一个进程至少有一个线程,一个线程属于一个进程

(3)资源分配给进程,同一进程的所有线程共享该进程的所有资源

(4)处理机分给线程,即真正在处理机上运行的是线程

6. 区别

(1)进程中包含线程,至少有一个主线程

(2)进程是系统分配资源的最小单位

(3)线程是系统调度(CPU调度)的最小单位

(4)线程共享进程申请来的资源

            进程和进程之间不共享内存空间;同一个进程的线程之间共享同一个内存空间  

(5)线程之间是可以相互影响的,一个线程如果崩溃了整个进程就有可能崩溃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值