2

Webワーカーは停止するだけで、エラーなどは発生しません。コードは完全に決定論的ですが、コード内のさまざまなポイントで停止します。

編集:問題は、私が労働者への言及を維持していなかったため、彼らがガベージコレクションされたときに彼らがランダムに死んだように見えたということでした。

4

3 に答える 3

1

Firefoxでも同様の状況が発生し、postMessageをランダムに呼び出した後、ワーカーがサイレントに失敗しているように見えました。さらに掘り下げてみると、本当の問題が見つかりました。どうやらFirebugのワーカーの呼び出しが問題でした。FirebugがFirefoxのchromeJS(特権コードスペース)のサービスに触れていたため、ワーカーが断続的に失敗していました。そのパッチは、https ://bugzilla.mozilla.org/show_bug.cgi?id=651980で確認できます。

ワーカーの仕様に従ってすべてを実行する限り、この問題は発生しません。Firebug / Fxの修正については、6月下旬にFirefox5にリリースされる予定です。これがお役に立てば幸いです。

于 2011-05-27T13:17:23.770 に答える
1

問題は、私が労働者への言及を維持していなかったため、彼らがガベージコレクションされたときに彼らがランダムに死んだように見えたということでした。

于 2011-01-24T13:35:56.323 に答える
0

ここでも同じですが、Firefoxではサイレントに失敗しますがChromeでは失敗しません。arborjs.orgを使用していましたこのように呼ばれます:

buildVisualization = function() {
  var sys = arbor.ParticleSystem(200, 200, 0.9); // create the system with sensible repulsion/stiffness/friction 
  sys.parameters({gravity:true}); // use center-gravity to make the graph settle nicely (ymmv) 
  sys.renderer = Renderer("#viewport"); // our newly created renderer will have its .init() method called shortly by sys... 
}

ここで、arborはwebworkerを使用するオブジェクトです。

ラインを追加するwindow.sys = sys;と、FirefoxとChromeの両方でチャームのように機能するようになりました。

buildVisualization = function() {
  var sys = arbor.ParticleSystem(200, 200, 0.9); // create the system with sensible repulsion/stiffness/friction
  window.sys = sys;
  sys.parameters({gravity:true}); // use center-gravity to make the graph settle nicely (ymmv)
  sys.renderer = Renderer("#viewport"); // our newly created renderer will have its .init() method called shortly by sys...
}
于 2012-10-05T21:34:01.410 に答える