問題タブ [web-worker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
37757 参照

javascript - webWorkerからlocalStorageにアクセスする

WebWorkerはlocalStorageにアクセスできますか?

そうでない場合はどうしてですか?セキュリティの観点から問題がありますか?

0 投票する
3 に答える
882 参照

html - Webworker が実行されていません

次のコードがあります。

worker.js:

スクリプトは「worker.js」ファイルを見つけますが、実際には実行しません。私は何を間違っていますか?

PS。wampを使用して両方のスクリプトをホストしており、chromeを使用しています

0 投票する
1 に答える
1674 参照

javascript - Web ワーカーをサポートする iPhone ブラウザは?

iphone の safari ブラウザーが javascript Web ワーカー (マルチスレッド) をサポートしていないことに気付きました。この機能をサポートする iPhone 用の別のブラウザがあるかどうか疑問に思っています。

(私はiPhoneを所有していないので、利用可能なすべてのブラウザをダウンロードして試すことはできません)

0 投票する
2 に答える
361 参照

javascript - 別のサイトからソースをロードするSharedWorkerを作成する方法はありますか?

私のhtmlファイルがhttp://foo.com/index.htmlからのものであるとすると、その中にhttp://bar.com/bar.js<script>へのタグがあります。bar.jsで、URLがhttp://bar.com/worker.jsであるSharedWorkerを開始したいと思います。これを達成する方法はありますか(おそらくjsonpのようなもの)?

0 投票する
5 に答える
2113 参照

javascript - ゲーム開発のための JavaScript でのマルチスレッド化

サードパーティのプラグインを使用せずに、純粋な JavaScript と html5 でゲームを開発することを考えています。私が直面している問題は、レンダリング ジョブ、ゲーム ロジック、アセットの読み込みなど、ゲームのさまざまな「モジュール」を個別のスレッドに分離する方法が見つからないことです。

Web Workers はコードを異なるスレッドに分割できるように見えますが、問題はそれらの間で渡せる情報が限られていることです。たとえば、レンダリング ジョブの場合、ワーカー スレッドはメモリを共有できないため、ゲームの更新ごとにすべてのエンティティ、メッシュ、テクスチャなどを含む「世界」全体を渡す必要があります。初期化(メッシュ、テクスチャ)でのみ静的オブジェクトを送信し、更新時にオブジェクトの状態のみを送信する(ワールドトランスフォーム)など、最適化できますが、それでもそうではありません。

それらの間で大きなデータを送信したり、いくつかのオブジェクトを共有したりする方法はありますか? または、真のマルチスレッドを実現するためのまったく別の方法はありますか? プラグイン/ギアを使用してこれを達成する簡単な方法があることは知っていますが、オープン Web で利用可能な方法のみを使用する必要があります。

0 投票する
1 に答える
2195 参照

concurrency - Webワーカーがメモリを共有

最新のブラウザーで読み取りと書き込み(または少なくとも読み取り専用)のために、複数のWebワーカー間でメモリを共有することは可能ですか?そうでない場合、そのような機能を実装する計画はありますか?

メッセージシステムを使用してワーカー間でデータを転送できることは知っていますが、たとえば、大きなデータ構造のシリアル化のオーバーヘッドのために、そのような方法が適さない場合があります。

0 投票する
1 に答える
320 参照

javascript - HTML5 Web Workerが複数の文字列を返すにはどうすればよいですか?

現時点では、私のWebWorkerはメッセージを文字列として返すだけです。オブジェクトを返すことは可能ですか?

ありがとうございました!

0 投票する
2 に答える
2557 参照

javascript - CPU リソースを犠牲にすることなく JavaScript Web ワーカー内でスリープする

概要: 当社では、ローカル リソース (RS232 / シリアル デバイス) にアクセスできる Web アプリケーションが必要です。いくつかの調査と POC の後、ActiveX、Java アプレットなどのオプションを破棄し、シリアル データを読み取り、HTTP プロトコルを介してそれらを提供するローカル アプリケーション (後でサービスに変換され、顧客に配布される C# で記述) を作成することにしました (必要なヘッダー + プレーンなシリアル データに応答する単純な TCP サーバー)。次に、Web アプリケーションは AJAX を実行して 'http://localhost:8080' にこれらのデータを読み取ります。

これはすべて、フォームの入力要素に入力するメッセージをメイン スレッドに投稿する while ループ内の Web ワーカーで行われます。静的コンテンツを提供することで、まともなパフォーマンスを得ることができます。Windows 上の Chrome 13 の古い Intel Dual Core (Core 2 Duo ではない) 1,6GHz CPU では、1 秒あたり 300 ~ 350 回の反復があり、Web ワーカー スレッドによって 5 ~ 9% の CPU が使用されます。

Q:私が今達成したいことは、各 ajax リクエストの後にある種の sleep() 関数を挿入することによって、Web ワーカーのポーリング間隔を調整することです。たとえば、最初に 100 ミリ秒で実験します。

スレッドで CPU リソースを犠牲にしない最適なソリューションは何でしょうか?

注: 最後の手段として、TCP サーバー コードに遅延を挿入することができます。

編集:

私は労働者の中で眠る必要があります。例 (わかりやすくするために簡略化しています):

0 投票する
2 に答える
3536 参照

html - HTML5: 複数の接続を持つ共有 Web ワーカー

私が理解していることから、HTML5 の共有 Web ワーカーの大きな利点は、単一の個別の実行スレッドで複数の接続を受け入れることができることです。

私の質問は、Google Chrome で単一のスレッドとして動作するように、SharedWorker と複数の接続を取得した人はいますか? 最新バージョン 12.0.742.112 を使用しています。

デモ: http://demos.zulius.com/html5/sharedworker

ソース (デモがダウンしている場合): index.htmlsharedworker.js

デモでは、2 つの個別のイベント リスナーを確立します。予想される出力は次のとおりです。

デモでは、両方のイベント リスナーが正しく起動しますが、接続カウント変数は SharedWorker スクリプトで維持されません。これにより、SharedWorker への各接続が個別のスレッドで実行されていると思われます。

私は何か間違ったことをしていますか?または、SharedWorker に対する Chrome のサポートは完全にはありませんか?

更新:デモが動作するようになりました。

0 投票する
0 に答える
341 参照

javascript - javascript web-workers の生産負荷の高い使用例

1 年前、私はすでにwebworkersについて質問しましたが、建設的ではないとしてクローズされました。わかりました、別の方法を試してみましょう。問題は、どのような大規模な (それほど大規模ではないかもしれませんが、実稼働可能な) Web プロジェクトで web-worker を使用しているのかということです。どの例を挙げることができますか?