gpt4 book ai didi

java - Real Time Java 如何避免优先级倒置

转载 作者:行者123 更新时间:2023-11-30 11:50:13 24 4
gpt4 key购买 nike

Java 实时规范表明它提供了处理优先级反转情况的工具,例如优先级继承和优先级上限协议(protocol)。

On POSIX ,有一个pthread_mutexattr_getprotocol可以设置用来解决这个问题的协议(protocol)

PTHREAD_PRIO_NONE
PTHREAD_PRIO_INHERIT //(PIP)
PTHREAD_PRIO_PROTECT //(PCP)

我想知道这在实时 Java 上的等效性。

谢谢。

最佳答案

需要符合 RTSJ 的实现至少支持优先级继承;优先级上限是可选的。例如,IBM WebSphere Real Time 支持优先级继承并依赖操作系统为所有 Java 锁提供优先级继承(这意味着总是有一个 pthread 互斥锁与任何锁定的对象关联,尽管我们仍然有办法使它比否则听起来,尤其是对于实际上没有争用的锁)。传统的非实时 JVM 倾向于使用自旋锁来加速短期持有的锁,但不能在实时 JVM 中使用,因为当线程以不同的优先级运行时(对于 SCHED_RR/SCHED_FIFO 策略),它们会引入活锁问题, 无论如何,在更高优先级优先的地方,句号)。

关于java - Real Time Java 如何避免优先级倒置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8093177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com