12.4. ウェイクプリミティブ


connection::wake() メソッドにより、スレッドは on_connection_wake() コールバックをトリガーして、接続でアクティビティーを求めます。これは、connection にあるスレッドセーフメソッドのみです。

wake() スレッド間をシグナル化するための軽量の低レベルプリミティブです。

  • work_queue とは異なり、コードやデータは含まれません。
  • wake() への複数の呼び出しは、単一の on_connection_wake() に結合される可能性があります。
  • on_connection_wake() の呼び出しは、ライブラリーが内部的に wake() を使用するため、wake() へのアプリケーション呼び出しなしで発生する可能性があります。

wake() のセマンティクスは、std::condition_variable::notify_one() に似ています。ウェイクアップが発生しますが、ウェイクアップが発生した理由と、それについての情報が何であるかを決定するために、共有アプリケーションの状態が必要です。

ワークキューは多くのインスタンスで使いやすくなりますが、独自の外部スレッドセーフキューがあり、データをチェックするために接続をウェイクする効率的な方法が必要な場合は、wake() が役に立つことがあります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.