java进程与线程知识_牛客网Java刷题知识点之进程和线程的区别

不多说,直接上干货!

https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21079&query=&asc=true&order=&page=11

4e6ec61dad694f117e2faa6766b24f2d.png

线程与进程的区别归纳:

a.地址空间和其它资源:进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。

b.通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。

c.调度和切换:线程上下文切换比进程上下文切换要快得多。

d.在多线程OS中,进程不是一个可执行的实体。

进程是运行中的程序,线程是进程的内部的一个执行序列。

进程是资源分配的单元,线程是执行行单元。

进程间切换代价大,线程间切换代价小。

进程拥有资源多,线程拥有资源少。

多个线程共享进程的资源。

进程是资源分配单位,线程是cpu调度单位;跟cpu真正打交道的是线程;

进程是运行时的程序,而线程是进程的执行序列;

进程的上下文切换比线程慢得多;

进程中包括多个线程,线程间共享进程资源

1 、进程是执行着的程序,线程是进程内的一个执行序列。一个进程可以拥有多个线程。

2 、进程是资源分配的最小单元,线程是执行调度的最小单元。进程拥有独立的资源,多个线程间共享这些资源。

3、 进程间通信代价较大,线程间通信代价小。

简单帮助记忆

开个QQ,开了一个进程;开了迅雷,开了一个进程。

在QQ的这个进程里,传输文字开一个线程、传输语音开了一个线程、弹出对话框又开了一个线程。

所以运行某个软件,相当于开了一个进程。在这个软件运行的过程里(在这个进程里),多个工作支撑的完成QQ

的运行,那么这“多个工作”分别有一个线程。

所以一个进程管着多个线程。

进程是爹妈,管着众多的线程儿子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值