85.4. 等待策略


等待策略对当前等待下一个交换的消费者线程执行的等待类型的影响。可以选择以下策略:

名称描述建议

Blocking

阻塞使用锁定和条件变量进行 Consumers 等待屏障的策略。

当 throughput 和 low-latency 不是 CPU 资源不重要时,可以使用此策略。

睡眠

初次启动的策略,然后使用 Thread.yield (),最终用作 OS 和 JVM 在等待一个障碍时允许的最小 nano 数量。

此策略在性能和 CPU 资源之间是一个很好的折衷。延迟激增可能会在静默时间后发生。

BusySpin

忙碌的 Spin 策略,其使用忙碌的 Consumers 等待一个障碍。

此策略将使用 CPU 资源以避免 syscalls 引入延迟 jitter。当线程绑定到特定 CPU 内核时,最好使用它。

生成

生成一个策略,该策略使用 Thread.yield ()用于 Consumers,等待自上机后等待一个障碍。

此策略在性能和 CPU 资源之间是一个很好的折衷,而不会造成大量延迟激增。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.