【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)
戻り値なし
戻り値はありません