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

【Node.js24.x】Object::MessagePort()メソッドの使い方

MessagePortメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

MessagePortメソッドは、異なる実行コンテキスト間で非同期にメッセージを送受信するための専用通信チャネルであるMessagePortオブジェクトを操作するために、Objectクラスで提供されるメソッドです。このメソッドは、主にNode.jsのWorker Threads環境やWeb Workers APIにおいて、メインスレッドとワーカー間、または複数のワーカー間でデータを安全かつ効率的に交換する際に利用されます。

MessagePortは、メッセージの送信にはpostMessage()メソッドを使用し、受信にはmessageイベントに対するリスナー(onmessageイベントハンドラ)を登録することで、双方向の通信を可能にします。これにより、時間のかかる計算やI/O処理などをバックグラウンドのスレッドで実行し、ユーザーインターフェースやアプリケーションの応答性を損なうことなく、並行処理を実現できます。また、MessagePortは、メッセージと共に別のMessagePortオブジェクトを転送できるTransferable機能もサポートしており、より複雑な通信構造を構築するのにも役立ちます。このメソッドは、アプリケーションの設計において、並行処理を安全かつ効果的に組み込むための基盤を提供します。

構文(syntax)

1const { port1, port2 } = new MessageChannel();
2
3port2.onmessage = (event) => {
4  console.log('Received message:', event.data);
5  port2.close();
6};
7
8port1.postMessage('Hello from MessagePort!');
9port1.close();

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ

関連プログラミング言語