問題タブ [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.
java - GWT を使用した Web ワーカー
GWT モジュールをロードした Web-Worker スレッドを取得する最も簡単な方法は何ですか?
GWT で Web-Worker をサポートすることについて言及しているわけではありませんが (そのためのライブラリがあります)、Web-worker にロードするための GWT モジュールをどのように生成しますか?
特別なリンカーが必要だと思います - どこかで利用できるものはありますか?
javascript - Web ワーカーの委任 (サブワーカー) が機能しない
http://www.whatwg.org/specs/web-apps/current-work/complete/workers.html#delegationから Web Worker 委任の例を取得して、Chrome、Firefox、または Safari で動作させることができないようです。Web Inspector/firebug コンソールはサイレントです。
どうしたの?
jquery - jQueryカスタムajaxビルド
jQueryからajax機能を除くすべてを削除しようとしています。ばかげた質問で申し訳ありませんが、私に聞いてください:
- 私はWebワーカーを使用してajax呼び出しを行っているため、core.jsのものをそこに入れることはできません。
- 私が使用している別のライブラリはjQueryを呼び出しますが、jQuery.Hive.Pollenライブラリで動作させることができませんでした。何時間ものトラブルシューティングを行った後、このChemDoodle WebコンポーネントライブラリはjQueryでのみ機能するようで、その理由を理解するのに十分な経験がありません。
- makefileを使用してjQueryを構築するのは非常に簡単なことのようですが、何を含めるべきかわかりません。makefileで、ajax関連のものを除くすべてを取り出しました。
。
ただし、/ ajaxソースファイルをさらに調べると、「document」を呼び出すメソッドが示されます。つまり、モジュールをいくつ削除しても、これはまったく機能しないということですか?
更新:jQueryのバグ問題#9889は、コアがWebワーカーが使用できるajax関数を少なくともすぐには提供しないことを示しているようです。
興味のある人のために、私がやろうとしていることと、なぜWebワーカーを使用する必要があるのかについて少し説明します。化合物のデータベースから分子シミュレーション/スクリーニングを行う分散コンピューティングアプリケーションを配置しています。通常のJavaScriptはページの速度を低下させ、アプリケーションをブラウザーで継続的に実行して、分子を次々に計算するため、機能しません。これが私の希望するWebワーカーの擬似コードの概要です
はい、メインページから渡されたデータ文字列を逆シリアル化し、ページにajaxデータをフェッチするようにプログラムを実装できます。
これはうまくいくと思いますが、少し粘着性があり、おそらく労働者にすべてをやらせるよりも遅いでしょう。Rick Waldronによると、「ポーリングを行っていたシステムがある場合、たとえばワーカーを開く、ループ内でxhrリクエストを永久に行う場合、各応答でpostMessage()の結果をクライアントに返すと、メリットが得られます」
私はxhrリクエストを永久にループで行っているので、このアプリケーションは有益だと思います。
jQuery.Hive.pollen.jsを見つけましたが、必要なajax呼び出しを行う他のライブラリでは機能していません。ただし、これは別の質問です(実際には私の主な質問です)。したがって、誰かがここに興味を持っている場合は、その投稿へのリンクがあります。
performance - cluster と node-webworker を使用した高性能 node.js アプリケーションの構築
私は node.js のマスターではないので、これについてもっと多くの視点を持ちたいと思います。
多くの同時接続だけでなく、長時間実行されるジョブも処理する必要がある HTTP node.js Web サーバーを作成しています。デフォルトでは、node.js は 1 つのプロセスで実行されます。実行に時間がかかるコードがある場合、後続の接続はコードが前の接続で行っていたことを終了するまで待機する必要があります。
例えば:
そこで、 node-webworkerライブラリを使用して、長時間実行されるすべてのジョブを個別のスレッドで実行することを考えていました。
また、全体のパフォーマンスを向上させるために、クラスターを使用して各 CPU コアに新しいノード プロセスを作成することも考えました。
このようにして、さまざまなプロセスcluster
(クアッドコアで実行する場合は4ノードプロセスとしましょう)を介したクライアント接続のバランスを取り、 node-webworker
.
この構成に何か問題がありますか?
javascript - すべてのプロセスが終了するまで待ちます
私は、Web ブラウザーで実行される Javascript シミュレーターに取り組んでいます。メインループがあります:
そして、反復ごとに、同時に実行する必要がある複数のワーカーを実行する必要があります。
私の質問は、すべてのワーカーが終了するのをどのように待つことができるでしょうか?
javascript - Web ワーカー (ガベージ コレクター) を使用したメモリ リークの可能性
ボタンのクリック後に Web ワーカーを呼び出すアプリがあります。計算はワーカーに移動され、UI が軽減され、計算中のユーザー アクションに反応するようになります。
すべてがうまくいき、約 0.8 ~ 1.5 秒後にワーカーが応答を送信します。必要なすべての DOM アクションを実行しますが、このworker.onmessage
後ガベージ コレクターが表示され、CPU に応じて 2 秒以上 UI が実質的にブロックされます。UIのブロックは私が防ぎたいものなので、これは本当に私を混乱させます.
タイムライン/メモリ コンソール タブのスクリーンショットは次のとおりです。
ご覧のとおり、ガベージ コレクター イベントはすべての DOM 操作の直後に発生します。実際には、再描画イベントは 1 つだけです (DocumentFragment
が使用されます)。
主な js コード:
contactsorter.js (ワーカー):
この場所でこれらのガベージ コレクター イベントを回避する方法はありますか?
UPD: ガベージ コレクター イベントの時間は、ワーカーに送信されたデータ量に依存するようです。
UPD2: シャットダウンおよび起動後、ガベージ コレクター イベントが 2 回しか発生しないため、UI が 1 秒未満ブロックされます。ん?
gwt - Web ワーカーを GWT で動作させるにはどうすればよいですか?
検索して検索しましたが、オンラインで明確な例が見つかりません。これをできるだけ簡単かつ簡単に実行したいと思います。GWT で Web ワーカーを使用する方法に関する情報を提供できる人はいますか?
javascript - Webワーカーで何を使用できますか?
Webワーカーについていくつか質問があります
ワーカーはストレージにアクセスできますか?たとえば、indexedDB / webSQLと、ワーカーが開始されたファイルのローカルストレージ?
ワーカーにファイルを含めるにはどうすればよいですか?私は
functions.js
アプリ関連のクイック機能をたくさん持っていますが、ファイルの内容をワーカーにコピーアンドペーストして、2つの異なる場所で関数を更新するだけでは意味がありません。ワーカー内にDOMを含めることはできますか?一時オーディオタグにオーディオファイルをロードして、その継続時間を読み取り、再生可能かどうかを確認するようなものです。親ページのdomにはアクセスしませんが、ワーカー自体にDOMがあります。
質問のいずれかに対する答えが否定的である場合、それを手動で行うにはどうすればよいですか?
これはChromeアプリ用なので、最新のChrome APIにアクセスでき、下位互換性について気にする必要はありません。
html - この WebWorker の何が問題になっていますか (エラーはありませんが、console.log に到達していません)
WebWorkers をテストしようとしている次のコードがあります。次のような index.html ファイルがあります。
myworker.js (index.html と同じディレクトリにある) の内容は次のとおりです。
(Chrome 14で)index.htmlをロードすると、「作成後」のconsole.logは発生しません。他にも何もありません。Console.logs は new Worker() の作成前に発生しますが、その後は何も発生しないようです。