JavaScript的Atomic对象是一个对象,它提供原子操作,例如add,sub和或xor,load,store等作为静态方法,这些方法与SharedArrayBuffer对象一起使用。
原子对象的sub()函数接受一个数字和位置,从给定位置的数字中减去给定数字,然后返回旧位置的数字值。
其语法如下。
Atomics.sub()
<html> <head> <title>JavaScript Example</title> </head> <body> <script type="text/javascript"> var arrayBuffer = new SharedArrayBuffer(16); var data = new Uint8Array(arrayBuffer); data[0] = 30; Atomics.sub(data, 0, 10); document.write(Atomics.load(data, 0)); </script> </body> </html>
输出结果
20
<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var arrayBuffer = new SharedArrayBuffer(16);
      var data = new Uint8Array(arrayBuffer);
      data[0] = 30;
      document.write("Previous: "+Atomics.sub(data, 0, 10));
      document.write("<br>");
      document.write("Result: "+Atomics.load(data, 0));
      document.write("<br>");
      document.write("Previous: "+Atomics.sub(data, 0, 5));
      document.write("<br>");
      document.write("Result: "+Atomics.load(data, 0));
   </script>
</body>
</html>输出结果
Previous: 30 Result: 20 Previous: 20 Result: 15