2011-08-11 7 views
14

私はajaxレスポンスを得るたびにカウンタを増やしたいとします。私は、JavaScriptの非同期イベントを持つ同時実行モデルについて知らない。何かご意見は ?どのようにJavaScriptでアトミック操作(同時実行モデル)を達成するには?

+0

[別のトピックの回答](http://stackoverflow.com/questions/6944748/is-there-an-ie-render-complete-event/6987573#6987573)のコメントを参照してください。基本的に、すべてのスクリプトは実行のために並んでおり、同時に2つのスクリプトを実行することはありません。スクリプトが実行されている場合、新しくトリガされたスクリプト(ユーザが引き起こしたイベントまたはAJAXリクエストによってトリガされる)がキューに入れられます。したがって、並行処理が利用できないため、JavaScriptには並行性の問題はありません。 –

+2

2つのスクリプトが同時に実行されないということはどういう意味ですか?あなたの定義にあるスクリプトの単位と正確には何が関係していますか? – smartnut007

+0

「スクリプト」が意味するのは、ロードされたすべてのJavaScriptの応答全体である必要があります。 – Shavais

答えて

17

ブラウザ内では、一度に1つのjavascriptスレッドしか実行されません。

ajaxレスポンスが保留されている間に、javascriptが無関係のイベントに応答して実行される可能性があるという同時性の問題があります。しかし、あなたはajaxの呼び出しの前にアトミックであることを意図した操作を開始せず、レスポンスハンドラで終了すると安全です。

+1

はい。すべてのイベントは原子的に処理されます。 – JGWeissman

関連する問題