|
|
1
0
在中断中使用互斥锁通常不是一个好主意。首先,如果中断正在运行,那么它不能被任务中断,因此只需要单向保护。第二,如果中断无法获得互斥锁,那么它就无法阻止等待它,因此它必须退出而不访问资源。 如果中断需要做一些冗长的事情,请考虑将中断处理延迟到一个任务,或者使用 direct to task notification ,或使用 centralised deferred interrupt processing 特色 如果在中断中只需要使用信号量,则使用二进制信号量,而不是互斥量,因为互斥量具有优先级继承机制,在中断中几乎没有逻辑意义(优先级继承是指任务继承彼此的任务优先级,但中断不是任务,因此没有任务优先级)。 |
|
|
fiedel · 为什么互斥锁可以被两个线程锁定? 3 年前 |
|
|
da cheng · 在c++11中使用条件变量使程序陷入死锁 8 年前 |
|
|
Eunjeong Choi · 为什么此代码返回意外结果?(条件变量) 8 年前 |
|
|
Razonixx · 从线程内增加全局计数器变量,而不必等待每个线程 8 年前 |
|
|
Administrator · c#-等待完成2个线程中的1个 8 年前 |