进程与线程

1 进程(Process)

进程是操作系统分配和调度资源的最小单位,是程序在运行时占据的全部资源的总和,包括CPU、内存、网络、硬盘IO等,它是一种抽象的概念。比如打开一个记事本就启动了一个记事本进程。

2 线程(Thread)

线程是轻量化的进程,是程序执行的最小单元。在一个进程内部,要同时做多件事情,就需要同时运行多个子任务,把这些子任务叫做线程。同一个进程的多个线程可以并发执行。

3 进程与线程的关系

  • 进程不能单独执行,它只是资源的集合;进程要操作CPU,必须先创建一个线程,通过线程操作
  • 一个进程包含至少包含1个线程,一个线程必须隶属于某个进程
  • 进程被销毁,该进程所拥有的线程也将会被强制退出并清除
  • 进程之间相互独立,通信比较困难;同一进程下的各个线程之间会共享程序的内存空间,通信较易
  • 线程的创建、启动比进程快

4 并行与并发

并行,英文为Parallelism,指同时执行多个任务,适用于多核CPU或GPU,不同的核心在同时执行任务操作

并发,英文为Concurrency, 指利用CPU时间分片技术,宏观上实现同时做多件任务的效果,但微观上每个CPU在同一时刻只能执行一个任务

5 超线程

超线程技术可将CPU的一个物理内核模拟成两个逻辑内核,充分利用了CPU内部的闲置资源,让单个处理器也可使用线程级并行计算,从而提高性能。但它并不像两个真正的CPU一样,每个CPU都拥有独立的资源。当两个线程同时需要某一资源时,其中一个要暂停,并让出资源,直到该资源闲置才能继续进行计算。因此超线程的性能并不等于两颗CPU的性能。

6 同步与异步

用一次方法的调用来形容同步和异步

同步方法一旦发起调用,必须等待完成之后才能继续

异步方法不等待方法完成就执行下一行,进行后续的操作。而该方法被由一个新的线程完成计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值