当前位置: 代码迷 >> 综合 >> 【Open】多处理器并行环境下,对象释放时可能导致阻塞队列链表损坏
  详细解决方案

【Open】多处理器并行环境下,对象释放时可能导致阻塞队列链表损坏

热度:57   发布时间:2024-01-20 12:10:45.0

【问题原因】

多处理器并行执行,任务A被同步对象阻塞并且已经超时,CPU0正在释放同步对象,

CPU1进入任务调度中断为任务A处理阻塞超时,将导致多个处理器同时执行链表删除动作。

【问题影响】

同步对象阻塞链表损坏或CPU0陷入死循环。

【解决方案】

在任务调度器中检测阻塞对象状态,如果状态为DEATH,则不执行链表删除动作。

  相关解决方案