85.4. 等待策略


等待被等待下一个交换的消费者线程执行的等待类型生效。可以选择以下策略:

名称描述建议

Blocking

阻塞策略使用锁定和状况变量等待在 barrier 上等待的消费者。

当吞吐量和低延迟不与 CPU 资源一样重要时,可以使用此策略。

sleeping

最初旋转的策略,然后使用 Thread.yield (),最终 OS 和 JVM 将允许最少的 nanos,而消费者正在等待 barrier。

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

BusySpin

忙碌 Spin 策略使用忙碌的旋转循环来等待一个 barrier 的消费者。

此策略将使用 CPU 资源来避免出现延迟危机的 syscalls。当线程可以绑定到特定 CPU 内核时,最好使用它。

产生

生成使用 Thread.yield ()在初始启动后等待 barrier 消费的策略。

此策略在性能和 CPU 资源之间是一个很好的折衷,而不会产生大量延迟高峰。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.