找出共享计数器更新里的 bug

来自 进程与线程
Node 24 进阶 6分钟 找出 1处问题

该函数接收共享 Int32Array,并可能在多个工作线程中运行。请找出同步缺陷。

JavaScript
function claimSlot(state) {
  const claimed = state[0];
  const capacity = state[1];
  if (claimed >= capacity) return false;
  state[0] = claimed + 1;
  return true;
}
在试验场中打开
报告错误