javascript - increment 是 JavaScript 中的原子操作吗?

标签 javascript multithreading thread-safety atomic

increment 是 JavaScript 中的原子操作吗?如果一个线程正在访问 ++i;同时另一个开始访问运行会不会有什么问题?

最佳答案

在 JavaScript 中,函数总是运行到完成。这意味着如果一个函数正在运行,那么它将完全运行;只有在那之后,另一个函数才会被调用。因此,语句之间没有交错的机会(但在 Java 中则不同)。

如果您对异步执行感到困惑,请始终记住async 意味着以后 不是并行的。所以,对于您的问题,答案是,不,您不会遇到任何问题,这将是一个完整的原子操作。

关于javascript - increment 是 JavaScript 中的原子操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43115992/

相关文章:

javascript - 断开 Mutation Observer 与回调函数的连接

Java如何从单独的线程中获取调用者?

java - SimpleDateFormat 的线程安全问题

Java - 在多个线程的缓存中保存变量

macos - OSX Cocoa Core-蓝牙委托(delegate)和 UI 更新线程安全

javascript - 我怎样才能让这个虚拟键盘上的按钮在点击后消失

javascript - 使用 Jquery draggable 将拖放/附加功能应用于 JSTreegraph

javascript - 如何用变量替换 HTML 元素的所有实例(或更简单的方法)

python - 具有只读共享内存的 Python 中的多处理?

java - 将异步计算的数据传播回 GUI 线程