12.4. wake primitive


connection::wake () 方法通过触发 on_connection_wake () 回调,允许任何线程在连接上提示活动。这是 连接 上唯一的 thread-safe 方法。

wake () 是一个轻量级、低级别的原语,用于在线程之间进行信号。

  • 它不执行任何代码或数据,这与 work_queue 不同。
  • wake () 的多个调用可能会合并到一个 on_connection_wake () 中。
  • 可能会出现对 on_connection_wake () 的调用,而无需任何应用程序调用 wake (),因为库在内部使用 wake ()

wake () 的语义与 std::condition_variable::notify_one () 类似。会有一个唤醒,但必须有一些共享应用程序状态来确定发生唤醒的原因,以及要对其执行什么操作。

工作队列在很多实例中更易于使用,但是如果您已经拥有自己的外部线程安全队列,并且需要高效的方法来唤醒连接来检查它们的数据,则 wake () 可能很有用。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat