タグ付けされた質問 「web-worker」

25
別のJavascriptファイルがないWebワーカーですか?
私の知る限り、Webワーカーは別のJavaScriptファイルに記述し、次のように呼び出す必要があります。 new Worker('longrunning.js') 私はすべてのJavaScriptソースコードを組み合わせて縮小するためにクロージャーコンパイラーを使用しており、ワーカーを別のファイルに分散して配布する必要はありません。これを行う方法はありますか? new Worker(function() { //Long-running work here }); ファーストクラスの関数がJavaScriptにとって非常に重要であることを考えると、バックグラウンド作業を行う標準的な方法では、なぜWebサーバーから他のJavaScriptファイル全体をロードする必要があるのでしょうか。

5
Node.jsとCPUを多用するリクエスト
Node.js HTTPサーバーをいじくり始めて、サーバー側のJavascriptを書きたいと思っていますが、何かが原因で、自分のWebアプリケーションでNode.jsを使い始められません。 非同期I / Oの概念全体を理解していますが、画像の操作や大きなデータセットの並べ替えなど、手続き型コードが非常にCPUを集中的に使用するエッジケースについて少し心配しています。 私が理解しているように、サーバーは、ユーザーのリストの表示やブログ投稿の表示などの単純なWebページ要求に対して非常に高速です。ただし、グラフィックを生成したり、数千の画像のサイズを変更したりする非常にCPU集中型のコード(たとえば、管理バックエンド)を記述したい場合、リクエストは非常に遅くなります(数秒)。このコードは非同期ではないため、数秒の間にサーバーに送られるすべてのリクエストは、遅いリクエストが完了するまでブロックされます。 1つの提案は、CPU集中型のタスクにWebワーカーを使用することでした。ただし、別のJSファイルを含めることで機能するため、Webワーカーがクリーンなコードを作成するのが難しくなると思います。CPU集中型のコードがオブジェクトのメソッドにある場合はどうなりますか?CPUを集中的に使用するメソッドごとにJSファイルを作成するのはちょっと面倒です。 もう1つの提案は、子プロセスを生成することでしたが、これによりコードの保守性がさらに低下します。 この(認識された)障害を克服するための提案はありますか?CPU負荷の高いタスクが非同期で実行されることを確認しながら、Node.jsでクリーンなオブジェクト指向コードをどのように記述しますか?

3
Webワーカーのユースケースは何ですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 この質問を改善する Web Workers APIを使用するための実際のシナリオを探しています。

7
node.jsでの並行タスクにはどちらが適していますか?繊維?ウェブワーカー?またはスレッド?
私はいつかnode.jsに出会いましたが、とても気に入りました。しかし、すぐに、CPUを集中的に使用するタスクを実行する機能が大幅に不足していることがわかりました。そこで、グーグルを開始し、問題を解決するために次の回答を得ました。ファイバー、ウェブワーカー、スレッド(thread-a-gogo)。どちらを使用するかは混乱であり、そのうちの1つは間違いなく使用する必要があります。結局のところ、IOだけが得意で他には何もないサーバーを用意する目的は何でしょうか。提案が必要です! 更新: 私は遅れている方法を考えていました。それ以上の提案が必要です。さて、私が考えたのはこれです:(thread_a_gogoまたは多分ウェブワーカーを使用して)いくつかのスレッドを作成しましょう。今、それらをさらに必要とする場合、さらに作成することができます。ただし、作成プロセスにはいくつかの制限があります。(システムによって暗示されるわけではありませんが、おそらくオーバーヘッドが原因です)。これで、制限を超えると、新しいノードをフォークして、そのノード上にスレッドを作成し始めることができます。この方法では、制限に達するまで続行できます(結局のところ、プロセスにも大きなオーバーヘッドがあります)。この制限に達すると、タスクのキューイングを開始します。スレッドが解放されるたびに、新しいタスクが割り当てられます。このように、それはスムーズに進むことができます。 それで私はそう思ったのです。このアイデアは良いですか?私はこのすべてのプロセスとスレッドに関するものは少し新しいので、専門知識はありません。ご意見をお聞かせください。 ありがとう。:)

15
Chromeはウェブワーカーを読み込めません
Webワーカーを使用するプロジェクトに取り組んでいます。 私の頭のセクションに私はこのコードを持っています: var worker = new Worker("worker.js"); // More code これはSafariでは正常に機能しますが、Chromeは次のエラーを報告します。 Uncaught SecurityError: Failed to create a worker: script at '(path)/worker.js' cannot be accessed from origin 'null'. これがSafariでは完全に機能するのにChromeでは機能しないのはなぜですか?どうすれば修正できますか? ありがとうございました。


2
JavaScriptCoreでWebWorkerのコンテキストに新しいネイティブクラスを追加する方法
JavaScriptCoreを介してJavaScriptを拡張するアプリケーションをwebkit-gtkブラウザーで使用しています。現在、いくつかのクラスをグローバルコンテキストに追加しています。 void create_js(gpointer context, char* className, JSClassDefinition clasDefinition) { JSClassRef classDef = JSClassCreate(&clasDefinition); JSObjectRef classObj = JSObjectMake(context, classDef, context); JSObjectRef globalObj = JSContextGetGlobalObject(context); JSStringRef str = JSStringCreateWithUTF8CString(className); JSObjectSetProperty(context, globalObj, str, classObj, kJSPropertyAttributeNone, NULL); JSStringRelease(str); } 次に、これらのクラスもWebWorkerのコンテキストに追加して、JSでインスタンス化されたワーカーからそれらを呼び出すことができるようにします。 私はそのWorkerようにオブジェクトを取得しようとしました: JSStringRef workerStr = JSStringCreateWithUTF8CString("Worker"); JSObjectRef worker = JSObjectGetProperty(context, globalObj, workerStr, NULL); JSObjectSetProperty(context, worker, …

1
WebWorkerは遅い正規表現の一致を大幅に遅く計算します(3倍)-Firefoxのみ
まず、プロジェクト内のすべてのヘッダーファイルのリストにあるすべての一意の外部ライブラリパスに一致する正規表現を自分で作成しました。1週間前にその正規表現を作成することについて質問しました。 私は、非同期のときとWebワーカーに変わったときの動作を確認するためにいじり始めました。利便性と信頼性のために、3つのモードすべてで実行されるこのユニバーサルファイルを作成しました。 /** Will call result() callback with every match it founds. Asynchronous unless called * with interval = -1. * Javadoc style comment for Arnold Rimmer and other Java programmers: * * @param regex regular expression to match in string * @param string guess what * @param result callback …

9
文字列からWebワーカーを作成する方法
文字列(POSTリクエストを介して提供される)からWebワーカーを作成するにはどうすればよいですか? 私が考えることができる1つの方法ですが、それを実装する方法がわかりません。サーバーの応答からdata-URIを作成し、それをワーカーコンストラクターに渡すことですが、一部のブラウザーでは許可されていないと聞いています。これは、同一生成元ポリシーのためです。 MDNは、データURIに関するオリジンポリシーについての不確実性を述べています。 注:Workerコンストラクターのパラメーターとして渡されるURIは、同一生成元ポリシーに従う必要があります。現在、データURIが同一生成元であるかどうかについて、ブラウザベンダー間で意見の相違があります。Gecko 10.0(Firefox 10.0 / Thunderbird 10.0)以降では、データURIをワーカーの有効なスクリプトとして許可しています。他のブラウザは同意しない場合があります。 また、whatwgでそれについて議論している投稿もあります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.