Linux多线程学习笔记(1)

SMP(Symmetric multiprocessing)

SMP意为多进程对称处理,用来指代多个处理器可以共享同一内存和各种IO设备的硬件架构,如果一个处理器有多个核心,那么SMP会把每个核心作为一个处理器来对待。
SMP架构图 图中多个CPU通过系统总线与内存和IO设备连接在一起
每一个任务(操作系统调度的最小单位)只能在同一个处理器执行,不存在同一任务在多个处理器上同时执行,原因是每个处理器可以处理任意一个任务,无论这个任务的数据在内存的哪个位置,其目的是为任务的调度提供灵活性。
优点:可以通过多个处理器并发处理来达到增加处理速度的目的
缺点:同一块内存数据可能出现在多个处理器的高速缓存中(考虑多进程共享内存的情景),因此存在数据一致性的问题,这会潜在的影响并发效率。此外,当任务从一个处理器迁移到另外一个处理器时(考虑到各个处理器需要负载均衡),数据的转移会产生额外开销。这些缺点需要操作系统进行优化处理才能避免性能出现问题。

SMT(Simultaneous multithreading)

SMT指代多线程并发执行处理,该技术用来增加超标量CPU的总体运行效率,通过允许多个线程在同一个核心并发执行来更好的利用现代处理器架构提供的资源。
优点:加速程序整体运行效率
缺点:多个线程的共享资源会导致瓶颈,这需要程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值