transworker
v1.6.3
Published
A Module to make WebWorker easier to use.
Downloads
105
Readme
transworker - WebWorkerをメソッド呼び出し感覚で利用するモジュール
photo credit: Pallet
via photopin
(license)
概要
TransWorkerは WebWorkerによるJavaScriptのマルチスレッドを手軽に使えるようにするモジュール です。
ユーザーが作成したクラスのインスタンスをワーカースレッド側で生成し、 そのクラスのインスタンスメソッドをメインスレッド側からリモート呼び出しできるようにします。
機能
インスタンスメソッドをスレッド間リモート呼び出しに変換
メインスレッドではユーザー定義クラスのプロトタイプを読み取り、 スレッド間メッセージを送信する同名のラッパーメソッドを生成します。
ワーカスレッド側では、このメッセージを受信すると、クラスインスタンスのメソッドを呼び出して、 その戻り値をスレッド間メッセージでメインスレッドへ戻します。
その他の機能
- ワーカースレッド側からメインスレッドへ通知メッセージを発行。
- メインスレッドからワーカースレッドへのTransferableオブジェクトの移譲(⇒Transferable - Web API | MDN)。
- WebWorkerは DedicatedWorker と SharedWorker に対応しています。
リンク
利用方法
バンドラー利用の場合
npm install --save transworker
const TransWorker = require("transworker");
HTMLで直接読み込む場合
バンドラーを使用しない場合は、ビルド済みの transworker.js を読み込みます。 TransWorker クラスが利用可能です。
<script src="${parent/of/repo}/transworker/transworker.js"></script>
最新のビルド済みスクリプトを https://takamin.github.io/transworker/transworker.js で公開しています。
LICENSE
MIT