Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中实现原子操作(并发模型)?_Javascript_Javascript Events_Concurrency - Fatal编程技术网

如何在JavaScript中实现原子操作(并发模型)?

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

比如说,每当我得到ajax响应时,我都想增加一个计数器。我不知道JavaScript异步事件的并发模型。有什么想法吗?

在浏览器中,一次只能运行一个javascript线程


并发性问题是可能的,因为当ajax响应挂起时,javascript可能会运行以响应不相关的事件。但是,如果在ajax调用之前不启动一个原子操作并在响应处理程序中完成它,那么您是安全的。

请参阅注释。基本上,所有脚本都是排队执行的,并且从来没有两个脚本同时运行。如果脚本正在执行,新触发的脚本(由用户引起的事件或AJAX请求触发)将被放入队列。因此,JavaScript中不存在并发问题,因为没有可用的并发性。不同时执行两个脚本是什么意思。在您的定义中,什么才算是脚本的一个单元?我想“脚本”的意思必须是所有已加载的JavaScript对给定事件的整个响应。是的。每个事件都以原子方式处理。