第3章 イベント駆動型 API


AMQ クライアントで提供される API の多くは、非同期のイベント駆動型 API です。これらには、C++、JavaScript、Python、および Ruby API が含まれます。

これらの API は、ネットワークアクティビティーに応答してアプリケーションイベント処理関数を実行することによって機能します。ライブラリーはネットワーク I/O を監視し、イベントを発生させます。イベントハンドラーは、メインライブラリースレッドで順番に実行されます。

イベントハンドラーはメインライブラリースレッドで実行されるため、ハンドラーコードに長時間実行されるブロッキング操作を含めることはできません。イベントハンドラーでブロックすると、すべてのライブラリーの実行がブロックされます。長いブロッキング操作を実行する必要がある場合は、別のスレッドで呼び出す必要があります。イベント駆動型 API には、ライブラリースレッドとアプリケーションスレッド間の調整をサポートするクロススレッド通信機能が含まれています。

イベントハンドラーでのブロックを回避する

イベントハンドラーで長時間実行されるブロッキング呼び出しは、すべてのライブラリーの実行を停止し、ライブラリーが他のイベントを処理したり、定期的なタスクを実行したりできないようにします。長時間実行されるブロッキング手順は、常に別のアプリケーションスレッドで開始してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.