前端----谈谈什么是线程,进程

线程?进程?其实对于我来说一直是稀里糊涂的,就跟我的人生一样。大学时期学过,同行嘴里到处都蹦着线程进程,我像一个呆呆地傻子一样,虽计算机本科出身,但如门外汉一般,可叹,可气。我一开始想要弄明白什么是线程,什么是进程,甚至希望从我嘴里说出来的时候,连我自己也能自圆其说。

什么是线程?

  • 线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元。
  • 一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。
  • 线程拥有独立的堆栈空间,但是共享数据段,它们彼此之间使用相同的地址空间,共享大部分数据,比进程更节俭,开销比较小,切换速度也比进程快,效率高
  • 线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。
  • 一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。
  • 由于线程之间的相互制约,致使线程在运行中呈现出间断性。
  • 线程只是一个进程中的不同执行路径。一个线程死掉就等于整个进程死掉。
  • 线程也有就绪、阻塞和运行三种基本状态。就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待处理机;运行状态是指线程占有处理机正在运行;阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行。
  • 每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。

什么是进程?

  • 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
  • 进程拥有独立的堆栈空间和数据段,所以每当启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这对于多进程来说十分“奢侈”,系统开销比较大。
  • 进程安全性比较高,也因为进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响
  • 在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;
  • 在当代面向线程设计的计算机结构中,进程是线程的容器。
  • 程序是指令、数据及其组织形式的描述,进程是程序的实体。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值