思考実験があります。私のコードにはグローバル変数がvar changeMe;
あり、Ajax 呼び出しをほとんど行っていません。
//call One -- third param is the callback function
ajaxFunction(url1, params,function(data){
changeMe = data;
});
//call Two
ajaxFunction(url2, params,function(data){
changeMe = data;
});
したがって、changeMe
値はどの Ajax 呼び出しが最後に終了するかによって異なります。つまり、最後に終了した呼び出しが値を上書きします。
両方の呼び出しがまったく同時に、同じタイムスタンプで終了した場合はどうなりますか?
Javascript はシングルスレッドであるため、通常、この問題は発生しませんがsetTimeout
、Ajax 呼び出しの場合に発生する可能性があります。この問題を正確に再現する方法がわからないので、まだ思考実験のままです。
では、マルチスレッド環境でデッドロックはどのように処理されるのでしょうか?
changeMe
私は、url1
またはのような答えurl2
と、明確な状況説明を好みます..
前もって感謝します