Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Node.js24.x】MessageChannel::MessageChannel()関数の使い方

MessageChannel関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

MessageChannelクラスは、独立した2つのポートを持つメッセージチャネルを表すクラスです。このクラスのインスタンスを生成すると、相互にメッセージを送受信するためのport1port2という2つのMessagePortオブジェクトが提供されます。これらのポートは、異なる実行コンテキスト、例えばNode.jsのメインスレッドとワーカー間、または複数のワーカー間の通信において、安全かつ非同期にデータを交換するために利用されます。一方のポートからpostMessage()メソッドを使ってメッセージを送信すると、もう一方のポートでmessageイベントをリッスンすることでそのメッセージを受信できます。これにより、共有メモリを使用せずに、並行処理環境におけるデータの整合性を保ちながら協調動作を可能にします。主にNode.jsのworker_threadsモジュールと組み合わせて使用され、スレッド間での構造化されたデータの受け渡しや、イベント駆動型の通信パターンを実装する際に非常に役立つ仕組みです。このメカニズムは、複雑な処理を複数のスレッドに分散させ、全体のパフォーマンス向上を図る上で重要な役割を果たします。

構文(syntax)

1const { MessageChannel } = require('node:worker_threads');
2
3const myChannel = new MessageChannel();

引数(parameters)

引数なし

引数はありません

戻り値(return)

MessageChannel

MessageChannelクラスのコンストラクタです。新しいMessageChannelオブジェクトを生成します。

関連コンテンツ