VxWorks信号量应该如何创建,以及VxWorks信号量出现优先级反转时应该怎样排查,这两个问题在实时任务同步和共享资源保护中经常遇到。VxWorks提供了二进制信号量、计数信号量和互斥信号量,不同类型所要解决的问题并不相同。如果把任务通知、资源计数和临界区保护混合在一起,全都使用同一种信号量,程序在低负载时或许还能暂时运行,但等到负载变高或者任务优先级发生变化之后,就很容易出现长时间的阻塞。排查优先级反转的时候,需要重点关注哪一个任务正持有信号量、有哪些任务正在等待,以及持有者迟迟无法释放的原因。
2026-07-21
