私はJavaScriptがマルチスレッド化されているように見えますが(少なくともそれは私が理解している方法ですが)、JavaScriptが実際にどのようにシングルスレッド化されているかについていくつかの研究を行っています。他の関数が呼び出されます。JavaScriptリスト操作は同期していますか?
私はそれがかなり確信していますが、push()
を呼び出すと、呼び出されたときに他の関数が最初に実行される可能性があることを心配しています。それは言われている、私はpush()
で実行される長い実行コードの任意の並べ替えを考えることはできません。 push
含む
// adds a new node to children, after checking if its UID is not in childrenAdded
this.addChild = function(newChild) {
if (!_this._childrenAdded[newChild.uid]) {
_this._childrenAdded[newChild.uid] = true;
_this._children.push(newChild);
}
}
「this.addChild」がどのように呼び出されているかわかりませんが、大括弧でメンバーにアクセスして配列にプッシュするコードの残りの部分は、確かに**同期**です。基本的に、タイマー、Ajax、その他のリクエストのみがクライアント側で非同期です。JS – adeneo
このコードとは非同期ではありません。 – epascarello