問題タブ [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.
internet-explorer - IE10がリリースされました。彼らは、長時間実行されているJSをWebページから別のワーカーにオフロードする「Webワーカー」について話します。GoogleChromeにはこれがありますか?
Google Chromeは、IE10で説明しているようなことをしますか?それともChromeはここに欠けていますか?それとも違うの?
javascript - jQuery の非 DOM サブセット
window
またはdocument
オブジェクトにアクセスできない Web Worker で、jQuery から多数のユーティリティ メソッドを使用できるようにしたいと考えています。
$.extend()
具体的には、$.ajax()
、 、システム全体などのメソッドを使用できるようにしたいと考えてい$.Deferred()
ます。明らかに、DOM トラバーサルと操作メソッドは必要ないので、JSDOM のようなソリューションを探しているわけではありません。
jQuery の非 DOM 部分を自分で抽出することはできますが、これを維持するのは面倒です。非 DOM 部分をビルドするだけの jQuery 用の利用可能なディストリビューションまたはビルド スクリプトはありますか?
javascript - WebWorker用のドキュメントフリーキャンバス
なしのcanvasの実装はありますdocument.createElement('canvas')
か?
Webワーカーでcanvasを操作したいのですがworker.postMessage()
、canvasはHTMLElementであるため、を介してcanvasデータを渡すことができません。
context2d.drawImage()
また、手動で実装したくないので、canvasのImageDataをWebワーカーに渡したくありません。
javascript - Webワーカーを使用してファイルからImageDataを取得する
Web Workerのファイルから画像データをデコードして、メインスレッドに渡し、putImageDataを使用できるようにすることはできますか?これはおそらく、drawImageを呼び出すよりも高速です。
multithreading - Web ワーカーが dom の変更を許可されていないのはなぜですか?
web workers
とは別のスレッドとして機能することは知っていますがUI thread
、 を変更できない理由がわかりませんDOM
。つまり、スレッド間通信を許可し、DOM
データを共有スペースに保持して、web workers
スレッドにDOM
. これがブラウザで許可されていないのはなぜですか?
html - SharedWorkerを使用したChromeのメモリリーク?
SharedWorker
HTML5スクリプトを開始するWebページがあります。Chromeのメモリ使用量は、このページがリロードされるたびに増加します(F5を押す)。
ワーカースクリプトは非常に単純です。毎秒(を使用してsetInterval
)、接続されたポートにメッセージが送信されます。
F5キーを押すたびに、ワーカープロセスが終了して再開されているようです。ワーカーは実際には複数の「ドキュメント」によって共有されていないため、これは私が期待することです。ただし、更新のたびにメモリ使用量が増える理由がわかりません。
なぜこれが起こっているのか誰かが知っていますか?
ページをリロードするたびにメモリが増えることを考えると、Chromeでは共有ワーカーをまったく使用できないと思います。誰かがメモリの問題を抱えることなくそうすることができましたか?
アップデート
これはホスティングHTMLです:
...そしてこれはworker.js
:
ホスティングページは共有ワーカーを開始/接続し、そこから受信したものをすべて出力します。
ワーカーコードは、接続されているポートのリストを保持し、1秒に1回すべてのポートにメッセージを送信します。
これは単純なことです。ただし、ホスティングページがChromeに再読み込みされるたびに。そのタブのメモリペイロードが増加します。
以下は、2、3回更新した後のChromeのメモリ使用量を示しています。
...もう少し更新した後、250MBに達しました...
これはChromeのバグに違いないと思って、アイデアが足りなくなっています。誰かが私にある種のポインタを教えてもらえますか?
更新2
AdBlock拡張機能を無効にすると、問題が解決したようです。
しばらくは嬉しかったのですが、まだメモリが漏れていることがわかりました。AdBlockを無効にすると、ページの更新ごとのリークがかなり少なくなります。
php - php アプリケーションでワーカー サーバーを使用するためのガイド
私は PHP アプリを作成しましたが、API を呼び出したり、時間のかかる操作を実行したりするときに、「ワーカー」+ キュー サーバーを使用するのがベスト プラクティスであることを読みました。
チュートリアルをすばやく検索すると、ドライになってしまいました。私は codeigniter を使用してアプリを構築しました。Facebook API にさまざまな呼び出しを行い、アプリ全体で php ベースの画像操作を使用しています。私が疑問に思っている唯一のことは、API呼び出しを実行したり、画像のサイズを変更したりしている場合、キューサーバー+ワーカーがどのように役立つかということです。ユーザーは通常、完了するまでサーバーからの応答を気にしません。
ワーカー + キュー サーバーの候補として適しているのはどのような状況ですか?また、これらをアプリケーションに含めるためのガイドはありますか? 最近、アプリに memcache を含めましたが、これは簡単でした。SQL クエリを memcache ハンドラでラップしただけです。
html - web worker console.log
それは私だけですか、それともconsole.log()
HTML5 Webワーカーに求めるには多すぎますか?
DOMの操作は潜在的に危険であるためブロックされていることは知っていますがconsole.log()
、マルチスレッドワーカーによって悪意を持って悪用される可能性は本当にありますか?
javascript - JSON オブジェクトが「null」になる
HTML5 Web ワーカーで問題が発生しています。Web ワーカー postMessage() は、onmessage() 関数に付属する、ワーカーを呼び出したドキュメント レベルの JavaScript に対する JSON オブジェクトです。
ワーカーが関連付けられた数値を処理できるため、明らかに「iterationsjob」キーにアクセスできますが、これは Google Chrome でのみ機能するようで、それでもエラーが発生します。
Firefox では、Web ワーカーがまったく機能せず、番号にもアクセスできないようです。ajax 呼び出しは成功していますが、ログ記録の手順をバイパスし、別の ajax 呼び出しで別のエラーが発生するようです。 . そこで、ワーカーが log() メッセージをコンソールに返す基本的な方法をハックし、ワーカー内からそれらを呼び出しました。
私は次のことを期待していました:
代わりに、次のように表示されます。
問題の内容と修正方法を説明できる人はいますか? 編集: ソース コードの zip をここにアップロードしました。Google App Engine で実行されます。
ありがとう!どんな助けでも大歓迎です。