如何在JavaScript中实现原子操作(并发模型)?
比如说,每当我得到ajax响应时,我都想增加一个计数器。我不知道JavaScript异步事件的并发模型。有什么想法吗?在浏览器中,一次只能运行一个javascript线程如何在JavaScript中实现原子操作(并发模型)?,javascript,javascript-events,concurrency,Javascript,Javascript Events,Concurrency,比如说,每当我得到ajax响应时,我都想增加一个计数器。我不知道JavaScript异步事件的并发模型。有什么想法吗?在浏览器中,一次只能运行一个javascript线程 并发性问题是可能的,因为当ajax响应挂起时,javascript可能会运行以响应不相关的事件。但是,如果在ajax调用之前不启动一个原子操作并在响应处理程序中完成它,那么您是安全的。请参阅注释。基本上,所有脚本都是排队执行的,并且从来没有两个脚本同时运行。如果脚本正在执行,新触发的脚本(由用户引起的事件或AJAX请求触发)将
并发性问题是可能的,因为当ajax响应挂起时,javascript可能会运行以响应不相关的事件。但是,如果在ajax调用之前不启动一个原子操作并在响应处理程序中完成它,那么您是安全的。请参阅注释。基本上,所有脚本都是排队执行的,并且从来没有两个脚本同时运行。如果脚本正在执行,新触发的脚本(由用户引起的事件或AJAX请求触发)将被放入队列。因此,JavaScript中不存在并发问题,因为没有可用的并发性。不同时执行两个脚本是什么意思。在您的定义中,什么才算是脚本的一个单元?我想“脚本”的意思必须是所有已加载的JavaScript对给定事件的整个响应。是的。每个事件都以原子方式处理。