进程线程的概念和区别

 

1.进程包含线程
一个进程里可以有一个线程,也可以有多个线程.不能没有线程。

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

线程是系统调度执行的基本单位

3. 同一个进程里的线程之间,共用同一份系统资源.(内存,硬盘,网络带宽等..)
尤其是内存资源,就是代码中定义的变量/对象.………

编程中,多个线程,是可以共用同一份变量的

4.线程是当下实现并发编程的主流方式,通过多线程,就可以充分利用好 多核 CPU.
但是,也不是线程数目越多,就越好,线程数目达到一定程序,把多个核心都利用充分了之后,此时继续增加线程,无法再提高效率,甚至可能会影响效率(线程调度,也是有开销的)

5.多个线程之间,可能会相互影响.线程安全问题.一个线程抛出异常,也可能会把其他线程也一起带走

6.多个进程之间,一般不会相互影响,一个进程崩溃了,不会影响到其他进程,(这一点也成为进程的隔离性”)

线程进程是操作系统中的重要概念,用于实现并发执行。 进程是程序的一次执行过程,是操作系统进行资源分配和调度的基本单位。它拥有自己的地址空间、代码、数据和打开的文件等资源。一个进程可以包含多个线程线程进程中的一个实体,是CPU调度和执行的基本单位。一个进程中的多个线程可以共享进程的资源,如内存、文件句柄等,各个线程之间可以直接通信。 区别主要有以下几点: 1. 调度:进程是操作系统进行资源分配和调度的单位,而线程是CPU调度和执行的单位。线程的切换比进程切换更快。 2. 资源拥有:进程拥有独立的地址空间和资源,而线程共享所属进程的资源。 3. 独立性:各个进程之间相互独立,一个进程出错不会影响其他进程。而线程属于同一个进程,共享同一地址空间,一个线程出错可能会影响整个进程。 4. 创建和销毁:创建和销毁一个进程比创建和销毁一个线程开销大。 5. 通信和同步:进程之间通信需要使用特定的机制(如管道、共享内存等),而线程之间可以直接共享进程的资源,通信更方便,同步更容易实现。 总结来说,线程进程的执行单元,可以共享进程的资源,提高并发性;而进程拥有独立的资源,各个进程之间相互独立。适当地使用线程进程可以提高系统的效率和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值