首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏C++系列

    【Linux】一个简单while循环实现【严格轮转】,从而理解什么是【多线程的忙等待】

    本章主要内容面向接触过C++的老铁 主要内容含: 一.忙等待介绍 忙等待(Busy-waiting)是一种同步机制,其中一个进程或线程 重复检查某个条件是否满足 以便继续执行,而不是进入休眠或阻塞状态

    33210编辑于 2024-10-18
  • 来自专栏软件工程

    自旋锁的概念,栗子和应用条件

    获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成busy-waiting 它是为实现保护共享资源而提出一种锁机制。

    79910编辑于 2022-05-13
  • 来自专栏C++开发

    自旋锁:原理、实现与应用

    它通过忙等待(busy-waiting)的方式,让线程在尝试获取锁时不断循环检查锁的状态,直到成功获取锁为止。本文将详细介绍自旋锁的工作原理、实现方式、应用场景以及性能影响。

    99110编辑于 2025-02-17
  • 来自专栏Java 技术小屋

    Java 中为什么不推荐在 while 循环中使用 sleep()

    } // do something }}上面的代码你可能会得到下面的警告:Call to ‘Thread.sleep()’ in a loop, probably busy-waiting

    3.7K30编辑于 2023-11-13
  • 来自专栏后端开发

    深入解析互斥锁(Mutex):并发编程中的关键同步机制

    这些算法通过软件方式确保只有一个线程能进入临界区,但由于需要频繁检查共享变量的状态,可能导致忙等待(busy-waiting),从而浪费CPU资源。

    1.1K10编辑于 2025-06-08
  • 来自专栏以Java架构赢天下

    消息队列之Kafka——从架构技术重新理解Kafka

    如果broker中没有数据,consumer可能会在一个紧密的循环中结束轮询,实际上会busy-waiting直到数据到来。 为了避免busy-waiting,我们的 Kafka-R 的pull参数重加入参数,使得consumer在一个“long pull”中阻塞等待,知道数据到来(还可以选择等待给定字节长度的数据来确保传输长度

    78341发布于 2020-05-27
  • 来自专栏AIoT技术交流、分享

    嵌入式Linux:线程同步(条件变量)

    通过条件变量,线程可以避免忙等待(busy-waiting),从而提高效率。

    81310编辑于 2025-01-14
  • 来自专栏行者常至

    018.多线程-悲观锁、乐观锁、重入锁、读写锁、自旋锁、CAS无锁机制

    获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成busy-waiting。 它是为实现保护共享资源而提出一种锁机制。

    2.2K11发布于 2018-11-21
  • 来自专栏desperate633

    细谈Select,Poll,Epoll阻塞 io 模型 blocking IO非阻塞 io 模型 nonblocking IOio多路复用模型 IO multiplexing细谈 io 多路复用技术

    有點類似busy-waiting的方法。 ?

    93110发布于 2018-08-22
  • 来自专栏刷题笔记

    锁升级:无锁、偏向锁、轻量级锁、重量级锁

    长时间的自旋操作是非常消耗资源的,一个线程持有锁,其他线程就只能在原地空耗CPU,执行不了任何有效的任务,这种现象叫做忙等(busy-waiting)。

    3.4K20发布于 2021-04-14
  • 我们来说说当一个线程两次调用 start() 方法会出现什么情况?

    “自旋锁”(spin-wait, busy-waiting),也可以认为其不算是一种锁,而是一种针对短期等待的性能优化技术。

    27710编辑于 2025-09-18
  • 来自专栏全栈程序员必看

    自旋锁和互斥锁区别在哪_互斥锁的实现

    而Spin lock则不然,它属于busy-waiting类型的锁,如果线程A是使用pthread_spin_lock操作去请求锁,那么线程A就会一直在 Core0上进行忙等待并不停的进行锁请求,直到得到这个锁为止

    1.5K30编辑于 2022-11-01
  • 来自专栏iOS开发~

    iOS_多线程五:基础的9种锁,扩展12种使用

    自旋锁(spinlock)busy-waiting: 跟互斥类似, 只是资源被占用的时候, 会一直循环检测锁是否被释放(CPU不能做其他的事情) 节省了唤醒睡眠线程的内核消耗(在加锁时间短暂的情况下会大大提高效率

    1.2K10编辑于 2022-07-20
  • 来自专栏Java面试通关手册

    面试必备之深入理解自旋锁

    获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成busy-waiting。 它是为实现保护共享资源而提出一种锁机制。

    5.8K41发布于 2018-07-27
  • 来自专栏Michael阿明学习之路

    python 并发、并行处理、分布式处理

    print('Timer finished') break 流程不会被阻塞,可以在 while 循环中执行其他操作,通过循环不断轮询等待事件发生称为 busy-waiting

    2.3K20编辑于 2022-09-22
  • 来自专栏charlieroro

    BP-Wrapper:无锁竞争的缓存替换算法系统框架

    当一个事务处理线程持有锁时,其他请求该锁的线程必须使用busy-waiting(自旋锁)或上下文切换的方式达到互斥效果。 两种因素导致了性能降级:一个是频繁地请求锁,目前通过在所有事务请求线程中共享锁来调节页访问,线程每次访问页时都会请求锁;另一个因素是获取锁的代价,包括改变锁状态,busy-waiting,和/或上下文切换 取决于具体实现,这类开销可能是处于busy-waiting锁占用的CPU周期,和/或上下文切换占用的CPU周期,开销的多少由锁竞争的激烈程度而定,如果一个服务上有很多处理器,且并发处理大量事务,则获取锁所需要的时间可能会大大超过小型系统所需要的时间

    1.4K20发布于 2021-06-17
  • 来自专栏全栈程序员必看

    JUC并发知识_并行与并发

    获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成busy-waiting

    43510编辑于 2022-09-21
  • 来自专栏JAVA烂猪皮

    Synchronized实现原理与常见面试题

    长时间的自旋操作是非常消耗资源的,一个线程持有锁,其他线程就只能在原地空耗CPU,执行不了任何有效的任务,这种现象叫做忙等(busy-waiting)。

    84320编辑于 2023-09-03
  • 来自专栏码农小胖哥的码农生涯

    AQS基础——多图详解CLH锁的原理与实现

    自旋锁说白了也是一种互斥锁,只不过没有抢到锁的线程会一直自旋等待锁的释放,处于busy-waiting的状态,此时等待锁的线程不会进入休眠状态,而是一直忙等待浪费CPU周期。

    1.6K40发布于 2020-09-01
  • 来自专栏全栈程序员必看

    CPU C-state & cpuidle driver[通俗易懂]

    取而代之的是,执行busy-waiting。如果足够了解你的应用程序,对延迟很敏感,让内核知道必须尽快处理工作,因为进入任何实际的硬件空闲状态可能会导致轻微的性能损失,则可以使用此状态。

    7.6K30编辑于 2022-11-17
领券