ugnagブログ

たいした内容はありません。思いつきで書いているだけ。
開発日記がメインかな。

<< ドライブチャート作成スクリプト | main | というわけで、作ってみました >>

今更ですが、誤解していました

javascriptのsetTimeoutの件。
よく「setTimeoutを使うと非同期で実行できる」とか書いてあるので、
ずっと誤解していました。


つまり、マルチスレッドで動くのかと思っていました。。。。

並行処理、同時実行をするのかと思っていたら、これは大間違い。


あくまでも、シングルスレッドだったんですね。
ああ、恥ずかしい(^^ゞ


一応、書いておくと、



setTimeout(function(){
  //重い処理
  for(var i = 0 ; i < 1000000 ; i++){
  }
}, 0);



などとやっても、裏でこそっと実行してくれるわけではない。

この処理の実行中、画面は固まり、キーボードやマウスの入力は
受け付けない。



最初、誤解していたため、思うように動かない理由がさっぱりわからなかった。
ひとつひとつ調べたら、まさかの誤解発覚!!


まいったね。
javascript | comments (0) | -

Comments

Comment Form

本文に書いて下さい
本文にh抜きで書いて下さい