【多线程】线程和进程的区别和联系

一.进程和线程的概念

  • 进程: 通俗的来讲就是你的电脑上正在运行的程序. 进程是一个具有一定独立功能的程序。

  • 线程: 有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。

  • 进程是操作系统资源分配的基本单位, 线程是调度执行的基本单位.

  • 一个进程当中可能包含多个线程, 线程并不具有系统资源, 而是和进程当中的其他线程共享进程当中的系统资源

二.线程和进程的区别

(1)调度功能:进程是资源分配的基本单位,线程是资源调度的基本单位
(2)都具有并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
(3)拥有资源的隶属不同:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.
(4)创建和销毁时开销不同:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

三.线程和进程的联系

(1)一个进程可以有多个线程(至少有一个),一个线程只能属于某一个进程.
(2)资源分配给进程,同一进程的所有线程可以共享该进程的所有资源.
(3)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。线程是指进程内的一个执行单元,也是进程内的可调度实体

四.总结

  • 进程包含线程,每个线程也是一个独立的执行流,可以执行一些代码,并且单独参与到cpu的调度中
  • 进程和进程之间不会相互影响,但同一个进程中的某个线程出现异常,可能会影响到其他线程,导致整个进程都异常终止.
  • 线程并不是越多越好,要能够适度,如果线程过多,一方面调度开销的成本会变大,另一方面造成线程安全的风险也会增大.
  • 进程是资源分配的基本单位,线程是资源调度的基本单位.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值