del_timer_sync不能睡眠的原因

简介:
这个函数不能在中断中被调用的原因就是防止删除timer的时候忙等,怎么忙等呢?在try_to_del_timer_sync出现之前,如果中断打断了正在执行的timer,那么中断中执行del_timer_sync的时候就会永远忙等下去,2.6.9中具体就是: 
static inline void __run_timers(tvec_base_t *base) 

... 



 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1273495

目录
打赏
0
0
0
0
344
分享
相关文章
Event Loop
【10月更文挑战第29天】
48 4
说说你对Event Loop的理解是什么
Event Loop(事件循环)是JavaScript中处理异步操作的一种机制,它帮助我们协调和处理各种任务的执行顺序。
75 0
node.js:setTimeout实现同步delay延时函数
node.js:setTimeout实现同步delay延时函数
203 0
你真的了解 sync.Once 吗
你真的了解 sync.Once 吗
191 0
Go基础:channel、定时器、select、锁、sync、atomic
Go基础:channel、定时器、select、锁、sync、atomic
336 0
Go基础:channel、定时器、select、锁、sync、atomic
sync
sync包有以下几个内容: (1)sync.Pool 临时对象池 (2)sync.Mutex 互斥锁 (3)sync.RWMutex 读写互斥锁 (4)sync.WaitGroup 组等待 (5)sync.Cond 条件等待 (6)sync.Once 单次执行 一、临时对象池 Pool可以用来存储临时对象,其实原理就是这个对象池指向对象变量,以防没有变量指向对象时,被GC所回收。
1473 0
Event Loop详解
事件循环其实就是入栈出栈的循环。上面例子中说到了setTimeout,那setInterval呢,Promise呢等等等等,有很多异步的函数。但是这些异步任务有分宏任务(macro-task)和微任务(micro-task): macro-task包括: setTimeout, setInterval, setImmediate, I/O, UI rendering。
2470 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等