2009年2月21日土曜日

Javascriptでマルチスレッド

Firefox 3.1に追加されるWeb Workersとは
http://builder.japan.zdnet.com/sp/firefox-3-for-developer-2008/story/0,3800087566,20386377,00.htm

Javascriptでマルチスレッドプログラミングを可能にする「Web Workers」という規格が策定されるらしい。
俺は正直マルチスレッドはよくわからない。
そんな覚えることを増やさなくても。
と思ったけれど、

JavaScriptへのマルチスレッド・プログラミングの導入
http://www.infoq.com/jp/articles/js_multithread

を読んで、なるほどなーと思った。

Ajaxは、Asynchronous JavaScript and XMLの略であり、Asynchronous(非同期)であることが画期的だった。(Google Mapsの登場まで気づかれてなかったけど)
同期処理だと何かを処理している間はほかの処理はできないけれど、
非同期処理は、サーバからレスポンスが返ってくるまで別のことができる。

こっちで処理をしてる間にサーバでも処理をして、
いわばマルチスレッドを擬似的に実現してきた。
でも、それだと不十分なところもあって(詳しくは上のリンクを参照)、
プログラマは技術を求められる。

Web Workersでそういう状況は改善されるだろう。

一方で、既往のJavascriptライブラリは大規模な書き直しを求められる。
別に書き直さなくても動くけど、
Web Workersをうまく使ったライブラリが新しく出たら、勝ち目はない。

とりあえず俺も、マルチスレッドを覚えないと、
マルチスレッドをうまく使えるプログラマには手も足も出ない。

0 件のコメント: