同时访问变量

2023-12-11

我需要从多个回调(事件处理程序)中增加全局变量,这些回调可能会同时触发。我需要担心同时访问该变量吗?有没有像 C# 中的 Interlocked.Increment 类似的东西?


JavaScript 中有 Interlocked.Increment 的类似物吗?

是的,但您的场景不需要它。

我的意思是我需要从几个不同的回调(事件处理程序)中增加全局值,这些回调可能同时触发。

它们永远不会同时开火。浏览器上的 JavaScript 在每个全局环境中仅运行一个线程(规范将其称为realm),有时在多个全局环境中共享同一个线程。即使处理程序的事件同时触发或者所有处理程序响应同一事件,对它们的调用也会在任务队列中排队(JS 规范将其称为作业队列,HTML 规范将其称为任务队列),并且队列一次处理一个任务/作业。

我需要担心同时访问该变量吗?

不在你的场景中,不。


1 仅提供详细信息:您仅在共享时需要它SharedArrayBuffer具有多个线程的实例(在浏览器上,这将通过网络工作者)。它是Atomics.add并对类型化数组进行操作,该数组可能由SharedArrayBuffer.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同时访问变量 的相关文章

随机推荐

  • 在express中全局重定向所有尾随斜杠

    我正在使用 Node js 和 Express 并且有以下路由 app get function req res locals date new Date toLocaleDateString res render home ejs loc
  • 一次不能多次借用“x”作为可变的

    在下面的代码中 操场 struct Node datum static str edges Vec
  • 从日期时间熊猫中提取季节

    我正在尝试从带有日期时间列的大型数据框中提取季节 这是我使用过的代码 def season of date date UTC year str date UTC year seasons spring pd date range start
  • ConcurrentModificationException 仅在 Java 1.8.0_45 中

    我对这段代码有两个问题 import java util public class TestClass private static List
  • JNI无法释放内存

    这是 JNI 的 C 代码 extern C JNIEXPORT jbyteArray JNICALL Java cn rilled encoder JNIEncoder encodeEncryptBuff JNIEnv env jobje
  • preg_split 逗号不在括号内

    测试字符串 Organic whole wheat bread Monterey Jack Cheese milk cheese culture salt Hormel Natural Ham salt turbinado sugar la
  • 处理字节顺序和文件的最常见方法 C++

    我一开始只是使用字符读取 写入 8 位整数到文件 不久之后 我意识到我需要能够处理的可能值不仅仅是 256 个 我对如何读取 写入 16 位整数到文件进行了一些研究 并了解了大端和小端的概念 我做了更多的研究 发现了一些不同的方法来处理字节
  • 如何在 AngularJS 中编写去抖动服务

    underscore 库提供了防抖功能 可以防止在设定的时间内多次调用某个函数 他们的版本使用了 setTimeout 我们如何在纯 AngularJS 代码中做到这一点 此外 我们可以利用 q 风格的 Promise 在去抖期之后从被调用
  • 泽西岛客户端 API 问题

    我正在编写一个调用 Web 服务的 Android 客户端 该服务是使用 JAX RS Jersey API 编写的 我还尝试在 android 端使用 Jersey Client API Client client Client crea
  • 区域设置构面构造函数被忽略

    The locale Facet构造函数 构造 other 的副本 但从参数 Facet 安装的 Facet 类型的 Facet 通常从参数的类型推导 除外 如果facet为NULL 则构造的语言环境是其他语言环境的完整副本 以这种方式构建
  • 春季批次。如何获取正在处理的元素的数量

    我们使用 Spring Batch 将 XML 文件的元素存储到数据库中 将元素插入数据库时 是否可以检索正在处理的元素的编号 澄清一下 这是我的工作配置
  • LSTM/GRU 自动编码器收敛

    Goal 尝试在多元时间序列数据集上运行 LSTM 自动编码器 X train 200 23 178 X val 100 23 178 X 测试 100 23 178 现在的情况 普通的自动编码器比简单的 LSTM AE 架构可以获得更好的
  • 更新 matplotlib 中的图形坐标

    我下面有一个将绘制球体的代码 它的比例由下式定义prop 我希望这样当按下按钮时prop的值更改为 5 并且图表也会相应调整 我该怎么办 我知道 tkinter 有 配置 它允许调整小部件设置 我正在寻找类似的东西 以便我可以重新配置我的情
  • 微前端/多存储库角度中的 Webpack 外部模块在构建时出现错误

    我创建了一个 Angular 项目来从其他正在运行的 Angular 项目调用微前端 我已使用 webpack config js 在我的应用程序中导入该模块 它在本地运行良好 但在生产构建中失败 当我运行 ng build 时 它会抛出异
  • 以编程方式将 .PFX 转换为 .PEM?

    我需要以编程方式从 MS 证书存储中提取证书及其私钥 并以某种方式将它们转换为 PEM 格式 我不想在命令行中使用 OpenSSL 因为我想将所有内容保留在内存中 避免使用文件 我可以使用 PFXExportCertStoreEx 将它们从
  • 如何编写自定义 servlet 上下文 init 方法

    我希望在 servlet 上下文初始化阶段使用 servletContext setAttributes 设置一些应用程序范围的变量 我怎样才能实现这一点 实施javax servlet SevletContextListener当java
  • 的原始用途? [关闭]

    Closed 这个问题是无关 目前不接受答案 我很好奇这样做的初衷
  • spring security 5.1 oauth 2,如何向用户身份验证uri添加附加参数

    我正在尝试集成外部 oauth 2 身份验证服务器和资源服务器 它们的配置需要一些额外的自定义参数 state 应该是 uuid TimeStamp accessType 并且 clientSecret 应该使用所有先前参数的组合作为数据进
  • 根据用户选择/提示检索 JSON 数据

    我试图让用户做出选择 并根据该选择深入研究 JSON 数据并显示所选信息 最终 我想在 html 中创建一个下拉选择 并在 Javascript 中创建一个事件监听器 然后进行检索 var userOcean prompt Will you
  • 同时访问变量

    我需要从多个回调 事件处理程序 中增加全局变量 这些回调可能会同时触发 我需要担心同时访问该变量吗 有没有像 C 中的 Interlocked Increment 类似的东西 JavaScript 中有 Interlocked Increm