{"id":30650,"date":"2023-07-16T00:34:42","date_gmt":"2023-07-15T21:04:42","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/o-objeto-atomics-do-js-uma-introducao-5d17\/"},"modified":"2023-07-16T00:34:42","modified_gmt":"2023-07-15T21:04:42","slug":"o-objeto-atomics-do-js-uma-introducao-5d17","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/o-objeto-atomics-do-js-uma-introducao-5d17\/","title":{"rendered":"JS&#8217;s Atomics \u06cc\u06a9 \u0645\u0642\u062f\u0645\u0647\u060c \u0686\u0646\u062f \u0631\u0634\u062a\u0647 \u0627\u06cc \u0648 \u062d\u0627\u0641\u0638\u0647 \u0631\u0627 \u0627\u06cc\u0631\u0627\u062f \u0645\u06cc \u06a9\u0646\u062f!"},"content":{"rendered":"<div data-article-id=\"1537401\" id=\"article-body\">\n<p>\u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0645\u0648\u0631\u062f \u0639\u0644\u0627\u0642\u0647 \u0645\u0627 \u062a\u06a9 \u0631\u0634\u062a\u0647 \u0627\u06cc \u0627\u0633\u062a \u0648 \u0628\u0647 \u0627\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628\u060c \u062a\u0646\u0647\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u06cc\u06a9 \u0686\u06cc\u0632 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627 \u06a9\u0646\u062f.  \u0627\u06cc\u0646 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0627\u06cc\u0646 \u0645\u0647\u0645 \u0627\u0633\u062a! <\/p>\n<p>\u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u06af\u0631 \u06cc\u06a9 \u06a9\u0627\u0631 \u0637\u0648\u0644\u0627\u0646\u06cc \u0645\u062f\u062a\u060c \u0631\u0634\u062a\u0647 \u0627\u0635\u0644\u06cc \u0645\u0631\u0648\u0631\u06af\u0631 \u0631\u0627 \u0645\u0633\u062f\u0648\u062f \u06a9\u0646\u062f\u060c \u0645\u0631\u0648\u0631\u06af\u0631 \u0628\u0631\u0627\u06cc \u0631\u0646\u062f\u0631 \u06a9\u0631\u062f\u0646 \u0645\u0634\u06a9\u0644 \u062e\u0648\u0627\u0647\u062f \u062f\u0627\u0634\u062a.<\/p>\n<p>\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0627\u06af\u0631 \u0628\u062e\u0648\u0627\u0647\u06cc\u0645 \u062d\u0644\u0642\u0647\u200c\u0627\u06cc \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0627\u062f\u0647 \u0628\u0632\u0631\u06af \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u0645\u060c <br \/>\u06cc\u0627 \u06cc\u06a9 \u062d\u0644\u0642\u0647 \u0633\u0627\u062f\u0647 \u0628\u0633\u06cc\u0627\u0631 \u0628\u0632\u0631\u06af \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f. <br \/>\u0627\u06cc\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0627\u0639\u062b \u06cc\u062e \u0632\u062f\u0646 \u0631\u0646\u062f\u0631 \u0634\u0648\u062f.  \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u062d\u0644\u0642\u0647 \u062a\u0645\u0627\u0645 \u0646\u0634\u062f\u060c \u06cc\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u062f\u0631 \u062d\u0627\u0644 \u0639\u0628\u0648\u0631 \u0627\u0632 \u0633\u0627\u062e\u062a\u0627\u0631 \u06a9\u0644\u0627\u0646 \u062f\u0627\u062f\u0647 \u0628\u0648\u062f\u060c \u06a9\u0627\u0631\u06cc \u0646\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f\u060c \u0641\u0642\u0637 \u062a\u0645\u0627\u0634\u0627 \u06a9\u0646\u06cc\u062f \u0648 \u0645\u0646\u062a\u0638\u0631 \u0628\u0645\u0627\u0646\u06cc\u062f. <\/p>\n<p>\u0627\u06cc\u0646 \u06cc\u06a9 \u0645\u0634\u06a9\u0644 \u062a\u06a9 \u0631\u0634\u062a\u0647 \u0627\u06cc \u0627\u0633\u062a. <br \/>\u0634\u0645\u0627 \u062f\u0631 \u0647\u0631 \u0632\u0645\u0627\u0646 \u0641\u0642\u0637 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 \u06a9\u0627\u0631 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f \u0648 \u0627\u06af\u0631 \u062e\u06cc\u0644\u06cc \u0637\u0648\u0644 \u0628\u06a9\u0634\u062f\u060c \u0647\u06cc\u0686 \u06a9\u0627\u0631 \u062f\u06cc\u06af\u0631\u06cc \u0646\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f!<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u062a\u0646 \u0627\u0632 \u062a\u0645\u0627\u0633 \u0647\u0627 \u0648 \u0648\u0639\u062f\u0647 \u0647\u0627 \u0635\u062d\u0628\u062a \u0646\u0645\u06cc \u06a9\u0646\u06cc\u0645. <\/p>\n<p>\u06cc\u06a9\u06cc \u0627\u0632 \u0631\u0627\u0647 \u062d\u0644 \u0647\u0627\u06cc \u0627\u06cc\u0646 \u0645\u0634\u06a9\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Web Workers \u0627\u0633\u062a. <\/p>\n<blockquote>\n<p>Web Workers \u0645\u06a9\u0627\u0646\u06cc\u0633\u0645 \u0647\u0627\u06cc\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0628\u0647 \u06cc\u06a9 \u0639\u0645\u0644\u06cc\u0627\u062a \u0627\u0632 \u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u0646\u062f \u062f\u0631 \u0631\u0634\u062a\u0647 \u0627\u06cc \u063a\u06cc\u0631 \u0627\u0632 \u0631\u0634\u062a\u0647 \u0627\u0635\u0644\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0648\u0628 \u0627\u062c\u0631\u0627 \u0634\u0648\u062f.  \u0627\u0645\u06a9\u0627\u0646 \u067e\u0631\u062f\u0627\u0632\u0634 \u0645\u062d\u0627\u0633\u0628\u0627\u062a \u067e\u0631\u0632\u062d\u0645\u062a \u0628\u062f\u0648\u0646 \u0645\u0633\u062f\u0648\u062f \u06a9\u0631\u062f\u0646 \u0631\u0634\u062a\u0647 \u0627\u0635\u0644\u06cc (\u06a9\u0647 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0627 \u0631\u0627\u0628\u0637 \u0645\u0631\u062a\u0628\u0637 \u0627\u0633\u062a).<br \/>\u0645\u0646\u0628\u0639 > mdn.<\/p>\n<\/blockquote>\n<p>\u0645\u06cc \u062f\u0627\u0646\u06cc\u0645 \u06a9\u0647 js \u062a\u06a9 \u0631\u0634\u062a\u0647 \u0627\u06cc \u0627\u0633\u062a. <br \/>\u0628\u0627 \u06af\u0630\u0634\u062a \u0632\u0645\u0627\u0646\u060c \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631 \u0628\u06cc\u0634\u062a\u0631 \u0648 \u0628\u06cc\u0634\u062a\u0631 \u062e\u0648\u0627\u0633\u062a\u0627\u0631 \u0634\u062f\u0646\u062f. <br \/>\u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0622\u0646\u0647\u0627 \u062a\u0635\u0645\u06cc\u0645 \u06af\u0631\u0641\u062a\u0646\u062f \u06a9\u0647 \u06a9\u0627\u0631\u06af\u0631\u0627\u0646 \u0648\u0628 \u0631\u0627 \u0628\u0631\u0627\u06cc \u06a9\u0645\u06a9 \u0628\u0647 \u0645\u0627 \u0628\u06cc\u0627\u0648\u0631\u0646\u062f! <\/p>\n<p>\u062d\u0627\u0644\u0627 \u0622\u0646 \u062d\u0644\u0642\u0647 \u063a\u0648\u0644 \u067e\u06cc\u06a9\u0631 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u06cc\u06a9 \u0645\u0648\u0636\u0648\u0639 \u062f\u06cc\u06af\u0631 \u0628\u0631\u0648\u062f \u0648 \u0635\u0641\u062d\u0647 \u0627\u0635\u0644\u06cc \u0645\u0627 \u0631\u0627 \u0632\u06cc\u0628\u0627 \u0648 \u0633\u0628\u06a9 \u06a9\u0646\u062f \u0628\u062f\u0648\u0646 \u0627\u06cc\u0646\u06a9\u0647 \u06a9\u0633\u06cc \u0645\u0627\u0646\u0639 \u0634\u0648\u062f! <\/p>\n<blockquote>\n<p>Web Workers \u0627\u0645\u06a9\u0627\u0646 \u0627\u062c\u0631\u0627\u06cc \u0645\u0648\u0627\u0632\u06cc \u062f\u0631 \u0632\u0645\u06cc\u0646\u0647 \u0645\u0631\u0648\u0631\u06af\u0631 \u0631\u0627 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<\/blockquote>\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0645\u0627\u0646\u0646\u062f \u0647\u0645\u0647 \u0686\u06cc\u0632 \u062f\u0631 \u0641\u0646 \u0622\u0648\u0631\u06cc\u060c \u0648\u0628 \u06a9\u0627\u0631\u06af\u0631\u0627\u0646 \u0646\u0642\u0627\u0637 \u0636\u0639\u0641 \u062e\u0648\u062f \u0631\u0627 \u062f\u0627\u0631\u0646\u062f.  \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644\u060c \u0647\u0632\u06cc\u0646\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u0642\u0627\u0644 \u062f\u0627\u062f\u0647 \u0628\u0647 \u0648 \u0627\u0632 \u0645\u0648\u0636\u0648\u0639 Worker \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f.  \u0647\u0631 \u0627\u0646\u062a\u0642\u0627\u0644 \u0627\u0632 \u0637\u0631\u06cc\u0642 postMessage \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f. <\/p>\n<p>\u0645\u0631\u0648\u0631\u06af\u0631 \u0627\u0632 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u06a9\u0644\u0648\u0646 \u0633\u0627\u062e\u062a \u06cc\u0627\u0641\u062a\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f<\/p>\n<div class=\"crayons-card c-embed text-styles text-styles--secondary\">\n<div class=\"c-embed__cover\">\n<p>          <\/p><\/div>\n<div class=\"c-embed__body\">\n<p class=\"truncate-at-3\">\n<p>          \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u06a9\u0644\u0648\u0646 \u0633\u0627\u062e\u062a \u06cc\u0627\u0641\u062a\u0647 \u0627\u0634\u06cc\u0627\u0621 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0631\u0627 \u06a9\u067e\u06cc \u0645\u06cc \u06a9\u0646\u062f.  \u0647\u0646\u06af\u0627\u0645 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc ()structurdClone\u060c \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u0642\u0627\u0644 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0628\u06cc\u0646 Workers \u0627\u0632 \u0637\u0631\u06cc\u0642 postMessage()\u060c \u0630\u062e\u06cc\u0631\u0647 \u0627\u0634\u06cc\u0627\u0621 \u0628\u0627 IndexedDB \u06cc\u0627 \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u0627\u0634\u06cc\u0627\u0621 \u0628\u0631\u0627\u06cc \u0633\u0627\u06cc\u0631 API\u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u062f\u0627\u062e\u0644\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.\n        <\/p>\n<div class=\"color-secondary fs-s flex items-center\">\n          <img decoding=\"async\" alt=\"\u0641\u0627\u0648\u06cc\u06a9\u0648\u0646\" class=\"c-embed__favicon m-0 mr-2 radius-0\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1689455080_67_JSs-Atomics-\u06cc\u06a9-\u0645\u0642\u062f\u0645\u0647\u060c-\u0686\u0646\u062f-\u0631\u0634\u062a\u0647-\u0627\u06cc-\u0648-\u062d\u0627\u0641\u0638\u0647-\u0631\u0627.png\" loading=\"lazy\" width=\"48\" height=\"48\" title=\"\"><br \/>\n        developer.mozilla.org\n      <\/div>\n<\/p><\/div>\n<\/div>\n<p>\u0628\u0631\u0627\u06cc \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u06cc\u06a9 \u0634\u06cc\u060c \u06cc\u0639\u0646\u06cc \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u0647\u0645\u0627\u0646 \u062f\u0627\u062f\u0647 \u062f\u0631 \u062d\u0627\u0641\u0638\u0647.  \u0627\u06cc\u0646 \u0647\u0632\u06cc\u0646\u0647\u060c \u0628\u0633\u062a\u0647 \u0628\u0647 \u0634\u0631\u0627\u06cc\u0637\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u06cc\u0634\u062a\u0631 \u0627\u0632 \u0633\u0648\u062f \u062a\u062e\u0644\u06cc\u0647 \u0628\u0647 \u0646\u062e Worker \u0628\u0627\u0634\u062f. <\/p>\n<p>\u0686\u0647 \u0645\u06cc \u0634\u0648\u062f \u0627\u06af\u0631 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627 \u062e\u0648\u062f\u062f\u0627\u0631\u06cc \u06a9\u0646\u06cc\u0645\u061f<br \/>\u06cc\u06a9\u06cc \u0627\u0632 \u0631\u0627\u0647 \u0647\u0627\u06cc \u062d\u0644 \u0627\u06cc\u0646 \u0645\u0634\u06a9\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a <strong>SharedArrayBuffer<\/strong>.<\/p>\n<p>\u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a\u060c \u0627\u06cc\u0646 \u0633\u0627\u062e\u062a\u0627\u0631 \u0628\u0647 \u0645\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u062a\u0627 \u062a\u06a9\u0647 \u0647\u0627\u06cc\u06cc \u0627\u0632 \u062d\u0627\u0641\u0638\u0647 \u0645\u0634\u062a\u0631\u06a9 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u0645.  \u0628\u0647 \u062c\u0627\u06cc \u06a9\u067e\u06cc \u06a9\u0631\u062f\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0627\u0632 \u0631\u0634\u062a\u0647 \u0627\u0635\u0644\u06cc \u0628\u0647 Worker \u0648 \u0628\u0627\u0644\u0639\u06a9\u0633\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0647\u0645\u0627\u0646 \u062d\u0627\u0641\u0638\u0647 \u0645\u0634\u062a\u0631\u06a9 \u0631\u0627 \u0627\u0632 \u0647\u0631 \u062f\u0648 \u0637\u0631\u0641 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"c1\">\/\/ <\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">length<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\n <span class=\"c1\">\/\/ Criando o tamanho do nosso buffer<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">size<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">Int32Array<\/span><span class=\"p\">.<\/span><span class=\"nx\">BYTES_PER_ELEMENT<\/span> <span class=\"o\">*<\/span> <span class=\"nx\">length<\/span><span class=\"p\">;<\/span>\n <span class=\"c1\">\/\/ Criando o buffer com 10 inteiros <\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">sharedBuffer<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">SharedArrayBuffer<\/span><span class=\"p\">(<\/span><span class=\"nx\">size<\/span><span class=\"p\">);<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">sharedArray<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nb\">Int32Array<\/span><span class=\"p\">(<\/span><span class=\"nx\">sharedBuffer<\/span><span class=\"p\">);<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>Int32Array \u0686\u06cc\u0633\u062a: <\/p>\n<div class=\"crayons-card c-embed text-styles text-styles--secondary\">\n<div class=\"c-embed__cover\">\n<p>          <img decoding=\"async\" alt=\"\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/JSs-Atomics-\u06cc\u06a9-\u0645\u0642\u062f\u0645\u0647\u060c-\u0686\u0646\u062f-\u0631\u0634\u062a\u0647-\u0627\u06cc-\u0648-\u062d\u0627\u0641\u0638\u0647-\u0631\u0627.png\" height=\"450\" loading=\"lazy\" class=\"m-0\" width=\"800\" title=\"\"><\/p><\/div>\n<div class=\"c-embed__body\">\n<p class=\"truncate-at-3\">\n<p>          \u0622\u0631\u0627\u06cc\u0647 \u062a\u0627\u06cc\u067e \u0634\u062f\u0647 Int32Array \u0622\u0631\u0627\u06cc\u0647 \u0627\u06cc \u0627\u0632 \u0627\u0639\u062f\u0627\u062f \u0635\u062d\u06cc\u062d \u0627\u0645\u0636\u0627 \u0634\u062f\u0647 32 \u0628\u06cc\u062a\u06cc \u0645\u06a9\u0645\u0644 twos \u0631\u0627 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0628\u0627\u06cc\u062a \u067e\u0644\u062a\u0641\u0631\u0645 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.  \u0627\u06af\u0631 \u06a9\u0646\u062a\u0631\u0644 \u0628\u0631 \u062a\u0631\u062a\u06cc\u0628 \u0628\u0627\u06cc\u062a \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a\u060c \u0628\u0647 \u062c\u0627\u06cc \u0622\u0646 \u0627\u0632 DataView \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.  \u0645\u062d\u062a\u0648\u06cc\u0627\u062a \u0628\u0647 0 \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0645\u06cc \u0634\u0648\u0646\u062f. \u067e\u0633 \u0627\u0632 \u0627\u06cc\u062c\u0627\u062f\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0639\u0646\u0627\u0635\u0631 \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0622\u0631\u0627\u06cc\u0647 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u0648\u0634 \u0647\u0627\u06cc \u0634\u06cc \u06cc\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0646\u062d\u0648 \u0634\u0627\u062e\u0635 \u0622\u0631\u0627\u06cc\u0647 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f (\u06cc\u0639\u0646\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0639\u0644\u0627\u0645\u062a \u06af\u0630\u0627\u0631\u06cc \u0628\u0631\u0627\u06a9\u062a) \u0627\u0631\u062c\u0627\u0639 \u062f\u0647\u06cc\u062f.\n        <\/p>\n<div class=\"color-secondary fs-s flex items-center\">\n          <img decoding=\"async\" alt=\"\u0641\u0627\u0648\u06cc\u06a9\u0648\u0646\" class=\"c-embed__favicon m-0 mr-2 radius-0\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1689455080_67_JSs-Atomics-\u06cc\u06a9-\u0645\u0642\u062f\u0645\u0647\u060c-\u0686\u0646\u062f-\u0631\u0634\u062a\u0647-\u0627\u06cc-\u0648-\u062d\u0627\u0641\u0638\u0647-\u0631\u0627.png\" loading=\"lazy\" width=\"48\" height=\"48\" title=\"\"><br \/>\n        developer.mozilla.org\n      <\/div>\n<\/p><\/div>\n<\/div>\n<p>sharedarraybuffer \u0686\u06cc\u0633\u062a: <\/p>\n<div class=\"crayons-card c-embed text-styles text-styles--secondary\">\n<div class=\"c-embed__cover\">\n<p>          <img decoding=\"async\" alt=\"\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1689455080_489_JSs-Atomics-\u06cc\u06a9-\u0645\u0642\u062f\u0645\u0647\u060c-\u0686\u0646\u062f-\u0631\u0634\u062a\u0647-\u0627\u06cc-\u0648-\u062d\u0627\u0641\u0638\u0647-\u0631\u0627.png\" height=\"450\" loading=\"lazy\" class=\"m-0\" width=\"800\" title=\"\"><\/p><\/div>\n<div class=\"c-embed__body\">\n<div class=\"color-secondary fs-s flex items-center\">\n          <img decoding=\"async\" alt=\"\u0641\u0627\u0648\u06cc\u06a9\u0648\u0646\" class=\"c-embed__favicon m-0 mr-2 radius-0\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1689455081_540_JSs-Atomics-\u06cc\u06a9-\u0645\u0642\u062f\u0645\u0647\u060c-\u0686\u0646\u062f-\u0631\u0634\u062a\u0647-\u0627\u06cc-\u0648-\u062d\u0627\u0641\u0638\u0647-\u0631\u0627.png\" loading=\"lazy\" width=\"24\" height=\"24\" title=\"\"><br \/>\n        developers.google.com\n      <\/div>\n<\/p><\/div>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u06cc\u06a9 \u062d\u0627\u0641\u0638\u0647 \u062f\u0627\u0631\u06cc\u0645 \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06af\u0630\u0627\u0634\u062a.  \u06cc\u0639\u0646\u06cc \u0645\u0648\u0636\u0648\u0639 \u0627\u0635\u0644\u06cc \u0648 \u06a9\u0627\u0631\u0645\u0646\u062f\u0627\u0646 \u0648\u0628 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u0628\u0627 \u0647\u0645 \u0628\u0647 \u0647\u0645\u0627\u0646 \u0645\u06a9\u0627\u0646 \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u0646\u062f! <\/p>\n<p>\u0627\u06cc\u0646 \u0648\u0627\u0642\u0639\u0627 \u062e\u0648\u0628 \u0627\u0633\u062a\u060c \u062d\u0627\u0641\u0638\u0647 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f! <br \/>\u0627\u0645\u0627 \u0645\u062b\u0644 \u0647\u0645\u0647 \u0686\u06cc\u0632 \u062f\u0631 \u062a\u06a9\u0646\u0648\u0644\u0648\u0698\u06cc\u060c \u0645\u0639\u0627\u06cc\u0628\u06cc \u0647\u0645 \u062f\u0627\u0631\u062f!<\/p>\n<p>\u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0631\u0627 \u062a\u0635\u0648\u0631 \u06a9\u0646\u06cc\u062f: \u0645\u0627 3 \u06cc\u0627 \u0628\u06cc\u0634\u062a\u0631 Web Worker \u062f\u0627\u0631\u06cc\u0645 \u06a9\u0647 \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0631\u0634\u062a\u0647 \u0627\u0635\u0644\u06cc \u0628\u0647 \u06cc\u06a9 \u0645\u06a9\u0627\u0646 \u062d\u0627\u0641\u0638\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0631\u0646\u062f.  \u0627\u06cc\u0646 \u0627\u0634\u062a\u0628\u0627\u0647 \u062e\u0648\u0627\u0647\u062f \u0634\u062f. <br \/>\u0628\u0633\u06cc\u0627\u0631 \u0627\u0634\u062a\u0628\u0627\u0647.  \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0634\u0631\u0627\u06cc\u0637 \u0645\u0633\u0627\u0628\u0642\u0647 \u0627\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645.  \u0647\u0645\u0647 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0645\u06a9\u0627\u0646 \u0631\u0642\u0627\u0628\u062a \u0645\u06cc \u06a9\u0646\u0646\u062f \u06cc\u0627 \u0645\u0634\u06a9\u0644 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u06cc\u06a9 \u0645\u06a9\u0627\u0646 \u062f\u0648 \u0628\u0627\u0631 \u0628\u0627 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06cc\u06a9\u0633\u0627\u0646 \u062f\u0627\u0631\u0646\u062f. <br \/>\u0628\u0647 \u0639\u0628\u0627\u0631\u062a \u062f\u06cc\u06af\u0631\u060c 2 \u06a9\u0627\u0631\u06af\u0631 \u0645\u06cc \u062a\u0648\u0627\u0646\u0646\u062f \u06cc\u06a9 \u06a9\u0627\u0631 \u0631\u0627 \u0647\u0645\u0632\u0645\u0627\u0646 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u0646\u062f \u0648 \u0627\u06cc\u0646 \u0627\u062a\u0644\u0627\u0641 \u0627\u0633\u062a. <\/p>\n<p>\u0634\u0631\u0637 \u0645\u0633\u0627\u0628\u0642\u0647 \u0686\u06cc\u0633\u062a: <\/p>\n<p>\u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0622\u0646\u0647\u0627 \u0634\u06cc Atomics \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0631\u062f\u0646\u062f. <\/p>\n<blockquote>\n<p>\u0639\u0645\u0644\u06cc\u0627\u062a \u0627\u062a\u0645\u06cc \u062a\u0636\u0645\u06cc\u0646 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0645\u0627 \u0631\u0648\u0634\u06cc \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646 \u0648 \u0646\u0648\u0634\u062a\u0646 \u062f\u0627\u062f\u0647 \u0647\u0627 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0642\u0627\u0628\u0644 \u067e\u06cc\u0634 \u0628\u06cc\u0646\u06cc \u062f\u0627\u0631\u06cc\u0645.<\/p>\n<\/blockquote>\n<p>Atomics \u062f\u0633\u062a\u0631\u0633\u06cc \u0647\u0645\u0647 \u0627\u0641\u0631\u0627\u062f \u0628\u0647 \u062d\u0627\u0641\u0638\u0647 \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u06cc \u06a9\u0646\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u0632 \u0634\u0631\u0627\u06cc\u0637 \u0645\u0633\u0627\u0628\u0642\u0647\u060c \u0647\u062f\u0631 \u0631\u0641\u062a\u0646 \u06a9\u0627\u0631 \u0648 \u063a\u06cc\u0631\u0647 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0645\u06cc \u06a9\u0646\u062f. <\/p>\n<p>\u0627\u062a\u0645\u06cc \u0686\u06cc\u0633\u062a\u061f <\/p>\n<div class=\"crayons-card c-embed text-styles text-styles--secondary\">\n<div class=\"c-embed__cover\">\n<p>          <img decoding=\"async\" alt=\"\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/JSs-Atomics-\u06cc\u06a9-\u0645\u0642\u062f\u0645\u0647\u060c-\u0686\u0646\u062f-\u0631\u0634\u062a\u0647-\u0627\u06cc-\u0648-\u062d\u0627\u0641\u0638\u0647-\u0631\u0627.png\" height=\"450\" loading=\"lazy\" class=\"m-0\" width=\"800\" title=\"\"><\/p><\/div>\n<div class=\"c-embed__body\">\n<p class=\"truncate-at-3\">\n<p>          \u0634\u06cc \u0641\u0636\u0627\u06cc \u0646\u0627\u0645 Atomics \u0634\u0627\u0645\u0644 \u0645\u062a\u062f\u0647\u0627\u06cc \u062b\u0627\u0628\u062a \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0639\u0645\u0644\u06cc\u0627\u062a \u0627\u062a\u0645\u06cc \u0627\u0633\u062a.  \u0622\u0646\u0647\u0627 \u0628\u0627 \u0627\u0634\u06cc\u0627\u0621 SharedArrayBuffer \u0648 ArrayBuffer \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u0646\u062f.\n        <\/p>\n<div class=\"color-secondary fs-s flex items-center\">\n          <img decoding=\"async\" alt=\"\u0641\u0627\u0648\u06cc\u06a9\u0648\u0646\" class=\"c-embed__favicon m-0 mr-2 radius-0\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1689455080_67_JSs-Atomics-\u06cc\u06a9-\u0645\u0642\u062f\u0645\u0647\u060c-\u0686\u0646\u062f-\u0631\u0634\u062a\u0647-\u0627\u06cc-\u0648-\u062d\u0627\u0641\u0638\u0647-\u0631\u0627.png\" loading=\"lazy\" width=\"48\" height=\"48\" title=\"\"><br \/>\n        developer.mozilla.org\n      <\/div>\n<\/p><\/div>\n<\/div>\n<p><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"c1\">\/\/ main.js<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">worker<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">Worker<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">worker.js<\/span><span class=\"dl\">'<\/span><span class=\"p\">);<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">length<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">size<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">Int32Array<\/span><span class=\"p\">.<\/span><span class=\"nx\">BYTES_PER_ELEMENT<\/span> <span class=\"o\">*<\/span> <span class=\"nx\">length<\/span><span class=\"p\">;<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">sharedBuffer<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">SharedArrayBuffer<\/span><span class=\"p\">(<\/span><span class=\"nx\">size<\/span><span class=\"p\">);<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">sharedArray<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nb\">Int32Array<\/span><span class=\"p\">(<\/span><span class=\"nx\">sharedBuffer<\/span><span class=\"p\">);<\/span>\n<span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"kd\">let<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">&lt;<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nx\">Atomics<\/span><span class=\"p\">.<\/span><span class=\"nx\">store<\/span><span class=\"p\">(<\/span><span class=\"nx\">sharedArray<\/span><span class=\"p\">,<\/span> <span class=\"nx\">i<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"nx\">worker<\/span><span class=\"p\">.<\/span><span class=\"nx\">postMessage<\/span><span class=\"p\">(<\/span><span class=\"nx\">sharedBuffer<\/span><span class=\"p\">);<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u062f\u0627\u062f\u0647 \u0647\u0627 \u062f\u0631 \u06a9\u0627\u0631\u06af\u0631<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"c1\">\/\/ worker.js<\/span>\n<span class=\"nb\">self<\/span><span class=\"p\">.<\/span><span class=\"nx\">addEventListener<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">message<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"nx\">event<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">sharedArray<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nb\">Int32Array<\/span><span class=\"p\">(<\/span><span class=\"nx\">event<\/span><span class=\"p\">.<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"kd\">let<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">&lt;<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"kd\">const<\/span> <span class=\"nx\">arrayValue<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">Atomics<\/span><span class=\"p\">.<\/span><span class=\"nx\">load<\/span><span class=\"p\">(<\/span><span class=\"nx\">sharedArray<\/span><span class=\"p\">,<\/span> <span class=\"nx\">i<\/span><span class=\"p\">);<\/span>\n        <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">`The item at array index <\/span><span class=\"p\">${<\/span><span class=\"nx\">i<\/span><span class=\"p\">}<\/span><span class=\"s2\"> is <\/span><span class=\"p\">${<\/span><span class=\"nx\">arrayValue<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">},<\/span> <span class=\"kc\">false<\/span><span class=\"p\">);<\/span>\n\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06af\u0631 \u0628\u062e\u0648\u0627\u0647\u06cc\u0645 \u0645\u0627\u062a\u0631\u06cc\u0633 \u06a9\u0627\u0631\u06af\u0631 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0632 \u06a9\u0646\u06cc\u0645 \u0686\u0647 \u0645\u06cc \u0634\u0648\u062f\u061f  \u0645\u0627 \u062f\u0648 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc \u0647\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 Atomics \u062f\u0627\u0631\u06cc\u0645.  \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 store \u06a9\u0647 \u0642\u0628\u0644\u0627\u064b \u062f\u06cc\u062f\u06cc\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645 \u06cc\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 Exchange \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645.  \u062a\u0641\u0627\u0648\u062a \u0627\u06cc\u0646\u062c\u0627\u0633\u062a \u06a9\u0647 store \u0645\u0642\u062f\u0627\u0631 \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f \u0648 Exchange \u0645\u0642\u062f\u0627\u0631 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0634\u062f\u0647 \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f.  \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0628\u06cc\u0646\u06cc\u0645 \u0627\u06cc\u0646 \u062f\u0631 \u0639\u0645\u0644 \u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"c1\">\/\/ worker.js<\/span>\n<span class=\"nb\">self<\/span><span class=\"p\">.<\/span><span class=\"nx\">addEventListener<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">message<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"nx\">event<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">sharedArray<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nb\">Int32Array<\/span><span class=\"p\">(<\/span><span class=\"nx\">event<\/span><span class=\"p\">.<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"kd\">let<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">&lt;<\/span> <span class=\"mi\">10<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">if<\/span> <span class=\"p\">(<\/span><span class=\"nx\">i<\/span><span class=\"o\">%<\/span><span class=\"mi\">2<\/span> <span class=\"o\">===<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n            <span class=\"kd\">const<\/span> <span class=\"nx\">storedValue<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">Atomics<\/span><span class=\"p\">.<\/span><span class=\"nx\">store<\/span><span class=\"p\">(<\/span><span class=\"nx\">sharedArray<\/span><span class=\"p\">,<\/span> <span class=\"nx\">i<\/span><span class=\"p\">,<\/span> <span class=\"mi\">1<\/span><span class=\"p\">);<\/span>\n            <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">`The item at array index <\/span><span class=\"p\">${<\/span><span class=\"nx\">i<\/span><span class=\"p\">}<\/span><span class=\"s2\"> is now <\/span><span class=\"p\">${<\/span><span class=\"nx\">storedValue<\/span><span class=\"p\">}<\/span><span class=\"s2\">`<\/span><span class=\"p\">);<\/span>\n        <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n            <span class=\"kd\">const<\/span> <span class=\"nx\">exchangedValue<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">Atomics<\/span><span class=\"p\">.<\/span><span class=\"nx\">exchange<\/span><span class=\"p\">(<\/span><span class=\"nx\">sharedArray<\/span><span class=\"p\">,<\/span> <span class=\"nx\">i<\/span><span class=\"p\">,<\/span> <span class=\"mi\">2<\/span><span class=\"p\">);<\/span>\n            <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"s2\">`The item at array index <\/span><span class=\"p\">${<\/span><span class=\"nx\">i<\/span><span class=\"p\">}<\/span><span class=\"s2\"> was <\/span><span class=\"p\">${<\/span><span class=\"nx\">exchangedValue<\/span><span class=\"p\">}<\/span><span class=\"s2\">, now 2`<\/span><span class=\"p\">);<\/span>\n        <span class=\"p\">}<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">},<\/span> <span class=\"kc\">false<\/span><span class=\"p\">);<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0622\u0631\u0627\u06cc\u0647 \u0646\u062e \u0627\u0635\u0644\u06cc \u0648 \u06a9\u0627\u0631\u06af\u0631 \u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u0645 \u0648 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u06a9\u0646\u06cc\u0645.  Atomics \u0686\u0646\u062f \u0631\u0648\u0634 \u062f\u06cc\u06af\u0631 \u062f\u0627\u0631\u062f \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 \u0622\u0646\u0647\u0627 \u0628\u0631\u0627\u06cc \u0645\u062f\u06cc\u0631\u06cc\u062a \u0622\u0631\u0627\u06cc\u0647\u200c\u0647\u0627\u06cc \u0645\u0634\u062a\u0631\u06a9 \u062c\u062f\u06cc\u062f\u0645\u0627\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645.  \u062f\u0648 \u062a\u0627 \u0627\u0632 \u0645\u0641\u06cc\u062f\u062a\u0631\u06cc\u0646 \u0631\u0648\u0634 \u0647\u0627 \u0635\u0628\u0631 \u0648 \u0628\u06cc\u062f\u0627\u0631 \u0634\u062f\u0646 \u0647\u0633\u062a\u0646\u062f.  Waitnos \u0628\u0647 \u0634\u0645\u0627 \u0627\u06cc\u0646 \u0627\u0645\u06a9\u0627\u0646 \u0631\u0627 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0645\u0646\u062a\u0638\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0631 \u0634\u0627\u062e\u0635 \u0622\u0631\u0627\u06cc\u0647 \u0628\u0627\u0634\u06cc\u062f \u0648 \u0633\u067e\u0633 \u0639\u0645\u0644\u06cc\u0627\u062a \u0631\u0627 \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u06cc\u062f.  \u062f\u0631 \u0639\u0645\u0644\u060c \u0627\u06cc\u0646 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u062f\u0631 \u0633\u0645\u062a \u06a9\u0627\u0631\u06af\u0631 \u0686\u06cc\u0632\u06cc \u0634\u0628\u06cc\u0647 \u0628\u0647 \u0627\u06cc\u0646 \u0628\u0627\u0634\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"nb\">self<\/span><span class=\"p\">.<\/span><span class=\"nx\">addEventListener<\/span><span class=\"p\">(<\/span><span class=\"dl\">'<\/span><span class=\"s1\">message<\/span><span class=\"dl\">'<\/span><span class=\"p\">,<\/span> <span class=\"p\">(<\/span><span class=\"nx\">event<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">sharedArray<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nb\">Int32Array<\/span><span class=\"p\">(<\/span><span class=\"nx\">event<\/span><span class=\"p\">.<\/span><span class=\"nx\">data<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">arrayIndex<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">expectedStoredValue<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">50<\/span><span class=\"p\">;<\/span>\n    <span class=\"c1\">\/\/ An optional 4th argument can be passed which is a timeout<\/span>\n    <span class=\"nx\">Atomics<\/span><span class=\"p\">.<\/span><span class=\"nx\">wait<\/span><span class=\"p\">(<\/span><span class=\"nx\">sharedArray<\/span><span class=\"p\">,<\/span> <span class=\"nx\">arrayIndex<\/span><span class=\"p\">,<\/span> <span class=\"nx\">expectedStoredValue<\/span><span class=\"p\">);<\/span>\n    <span class=\"c1\">\/\/ Log the new value<\/span>\n    <span class=\"nx\">console<\/span><span class=\"p\">.<\/span><span class=\"nx\">log<\/span><span class=\"p\">(<\/span><span class=\"nx\">Atomics<\/span><span class=\"p\">.<\/span><span class=\"nx\">load<\/span><span class=\"p\">(<\/span><span class=\"nx\">sharedArray<\/span><span class=\"p\">,<\/span> <span class=\"nx\">arrayIndex<\/span><span class=\"p\">));<\/span>\n<span class=\"p\">},<\/span> <span class=\"kc\">false<\/span><span class=\"p\">);<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u0627 \u0627\u0646\u062a\u0638\u0627\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0631 arrayIndex0 \u0631\u0627 \u062f\u0627\u0631\u06cc\u0645 \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0645\u0642\u062f\u0627\u0631 \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 \u0645\u0648\u0631\u062f \u0627\u0646\u062a\u0638\u0627\u0631 50 \u0627\u0633\u062a. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0647 \u0622\u0646 \u0628\u06af\u0648\u06cc\u06cc\u0645 \u06a9\u0647 \u0648\u0642\u062a\u06cc \u0645\u0642\u062f\u0627\u0631 \u0627\u06cc\u0646\u062f\u06a9\u0633 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc \u062f\u0647\u06cc\u0645 \u0627\u0632 \u0631\u0634\u062a\u0647 \u0627\u0635\u0644\u06cc \u0628\u06cc\u062f\u0627\u0631 \u0634\u0648\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">const<\/span> <span class=\"nx\">newArrayValue<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">100<\/span><span class=\"p\">;<\/span>\n<span class=\"nx\">Atomics<\/span><span class=\"p\">.<\/span><span class=\"nx\">store<\/span><span class=\"p\">(<\/span><span class=\"nx\">sharedArray<\/span><span class=\"p\">,<\/span> <span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"nx\">newArrayValue<\/span><span class=\"p\">);<\/span>\n<span class=\"c1\">\/\/ The index that is being waited on<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">arrayIndex<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span>\n<span class=\"c1\">\/\/ The first agent waiting on the value<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">queuePos<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span>\n<span class=\"nx\">Atomics<\/span><span class=\"p\">.<\/span><span class=\"nx\">wake<\/span><span class=\"p\">(<\/span><span class=\"nx\">sharedArray<\/span><span class=\"p\">,<\/span> <span class=\"nx\">arrayIndex<\/span><span class=\"p\">,<\/span> <span class=\"nx\">queuePos<\/span><span class=\"p\">);<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062a\u0648\u0627\u0628\u0639 \u062f\u06cc\u06af\u0631\u06cc \u0628\u0631\u0627\u06cc \u0631\u0627\u062d\u062a\u06cc \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0645\u0627\u0646\u0646\u062f add \u0648 sub \u06a9\u0647 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0627\u0632 \u0634\u0627\u062e\u0635 \u0622\u0631\u0627\u06cc\u0647 \u0627\u0636\u0627\u0641\u0647 \u06cc\u0627 \u06a9\u0645 \u0645\u06cc \u06a9\u0646\u0646\u062f.  \u0627\u06af\u0631 \u0628\u0647 \u0639\u0645\u0644\u06cc\u0627\u062a \u0628\u06cc\u062a\u06cc \u0639\u0644\u0627\u0642\u0647 \u062f\u0627\u0631\u06cc\u062f\u060c \u0628\u0631\u062e\u06cc \u0627\u0632 \u0622\u0646\u0647\u0627 \u0627\u0632 \u062c\u0645\u0644\u0647 \u06cc\u0627\u060c \u0648 \u0648 xor \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>\u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0628\u0628\u06cc\u0646\u06cc\u0645 \u06a9\u0647 \u0627\u062a\u0645\u06cc\u200c\u0647\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u0646\u062f \u0627\u0632 \u0634\u0631\u0627\u06cc\u0637 \u0645\u0633\u0627\u0628\u0642\u0647 \u0627\u062c\u062a\u0646\u0627\u0628 \u06a9\u0646\u0646\u062f \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u0648\u0634\u200c\u0647\u0627\u06cc Atomics\u060c \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc \u0642\u0627\u0628\u0644 \u067e\u06cc\u0634\u200c\u0628\u06cc\u0646\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0622\u0631\u0627\u06cc\u0647 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u0646\u062f. <\/p>\n<p>\u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u0634\u062a\u0647 \u0647\u0627\u060c \u0628\u0627\u06cc\u062f \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u0646\u0645\u0627\u06cc\u0634 \u0639\u062f\u062f\u06cc \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u06cc\u0645\u060c \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u06cc\u06a9 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0634\u0646\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0628\u0631\u0627\u06cc \u0631\u0645\u0632\u06af\u0630\u0627\u0631\u06cc \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 UTF-16.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"kd\">function<\/span> <span class=\"nx\">sharedArrayBufferToUtf16String<\/span><span class=\"p\">(<\/span><span class=\"nx\">buf<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">array<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nb\">Uint16Array<\/span><span class=\"p\">(<\/span><span class=\"nx\">buf<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">return<\/span> <span class=\"nb\">String<\/span><span class=\"p\">.<\/span><span class=\"nx\">fromCharCode<\/span><span class=\"p\">.<\/span><span class=\"nx\">apply<\/span><span class=\"p\">(<\/span><span class=\"kc\">null<\/span><span class=\"p\">,<\/span> <span class=\"nx\">array<\/span><span class=\"p\">);<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"kd\">function<\/span> <span class=\"nx\">utf16StringToSharedArrayBuffer<\/span><span class=\"p\">(<\/span><span class=\"nx\">str<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/ 2 bytes for each char<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">bytes<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">str<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span> <span class=\"o\">*<\/span><span class=\"mi\">2<\/span><span class=\"p\">;<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">buffer<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nx\">SharedArrayBuffer<\/span><span class=\"p\">(<\/span><span class=\"nx\">bytes<\/span><span class=\"p\">);<\/span>\n    <span class=\"kd\">const<\/span> <span class=\"nx\">arrayBuffer<\/span> <span class=\"o\">=<\/span> <span class=\"k\">new<\/span> <span class=\"nb\">Uint16Array<\/span><span class=\"p\">(<\/span><span class=\"nx\">buffer<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">for<\/span> <span class=\"p\">(<\/span><span class=\"kd\">let<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"nx\">strLen<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">str<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">&lt;<\/span> <span class=\"nx\">strLen<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nx\">arrayBuffer<\/span><span class=\"p\">[<\/span><span class=\"nx\">i<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">str<\/span><span class=\"p\">.<\/span><span class=\"nx\">charCodeAt<\/span><span class=\"p\">(<\/span><span class=\"nx\">i<\/span><span class=\"p\">);<\/span>\n    <span class=\"p\">}<\/span>\n    <span class=\"k\">return<\/span> <span class=\"p\">{<\/span> <span class=\"na\">array<\/span><span class=\"p\">:<\/span> <span class=\"nx\">arrayBuffer<\/span><span class=\"p\">,<\/span> <span class=\"na\">buffer<\/span><span class=\"p\">:<\/span> <span class=\"nx\">buffer<\/span> <span class=\"p\">};<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"kd\">const<\/span> <span class=\"nx\">exampleString<\/span> <span class=\"o\">=<\/span> <span class=\"dl\">\"<\/span><span class=\"s2\">Hello world, this is an example string!<\/span><span class=\"dl\">\"<\/span><span class=\"p\">;<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">sharedArrayBuffer<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">utf16StringToSharedArrayBuffer<\/span><span class=\"p\">(<\/span><span class=\"nx\">exampleString<\/span><span class=\"p\">).<\/span><span class=\"nx\">buffer<\/span><span class=\"p\">;<\/span>\n<span class=\"kd\">const<\/span> <span class=\"nx\">backToString<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">sharedArrayBufferToUtf16String<\/span><span class=\"p\">(<\/span><span class=\"nx\">sharedArrayBuffer<\/span><span class=\"p\">);<\/span>\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0647\u0645\u0647 \u06a9\u062f\u0647\u0627 \u0627\u0632 \u0627\u06cc\u0646 \u0645\u062a\u0646 \u06af\u0631\u0641\u062a\u0647 \u0634\u062f\u0647 \u0627\u0646\u062f: <\/p>\n<div class=\"crayons-card c-embed text-styles text-styles--secondary\">\n<div class=\"c-embed__cover\">\n<p>          <img decoding=\"async\" alt=\"\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/JSs-Atomics-\u06cc\u06a9-\u0645\u0642\u062f\u0645\u0647\u060c-\u0686\u0646\u062f-\u0631\u0634\u062a\u0647-\u0627\u06cc-\u0648-\u062d\u0627\u0641\u0638\u0647-\u0631\u0627.jpg\" height=\"420\" loading=\"lazy\" class=\"m-0\" width=\"800\" title=\"\"><\/p><\/div>\n<div class=\"c-embed__body\">\n<p class=\"truncate-at-3\">\n<p>          \u0628\u0628\u06cc\u0646\u06cc\u062f \u0686\u06af\u0648\u0646\u0647 \u0627\u0632 SharedArrayBuffers \u0628\u0631\u0627\u06cc \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06af\u0630\u0627\u0634\u062a\u0646 \u062d\u0627\u0641\u0638\u0647 \u0628\u06cc\u0646 \u0632\u0645\u06cc\u0646\u0647\u200c\u0647\u0627\u06cc \u0631\u0634\u062a\u0647\u200c\u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u0648 \u062f\u0631 \u0639\u06cc\u0646 \u062d\u0627\u0644 \u0627\u062c\u062a\u0646\u0627\u0628 \u0627\u0632 \u0634\u0631\u0627\u06cc\u0637 \u0645\u0633\u0627\u0628\u0642\u0647 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u0648\u0634\u200c\u0647\u0627\u06cc Atomics \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.\n        <\/p>\n<div class=\"color-secondary fs-s flex items-center\">\n          <img decoding=\"async\" alt=\"\u0641\u0627\u0648\u06cc\u06a9\u0648\u0646\" class=\"c-embed__favicon m-0 mr-2 radius-0\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/07\/1689455081_674_JSs-Atomics-\u06cc\u06a9-\u0645\u0642\u062f\u0645\u0647\u060c-\u0686\u0646\u062f-\u0631\u0634\u062a\u0647-\u0627\u06cc-\u0648-\u062d\u0627\u0641\u0638\u0647-\u0631\u0627.png\" loading=\"lazy\" width=\"512\" height=\"512\" title=\"\"><br \/>\n        sitepen.com\n      <\/div>\n<\/p><\/div>\n<\/div>\n<p>\u0645\u0646 \u06cc\u06a9 \u0645\u0642\u062f\u0645\u0647 \u06a9\u0648\u0686\u06a9 \u0628\u0631 \u0634\u06cc Atomics \u06a9\u0631\u062f\u0645<br \/>\u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0647\u0645\u0647 \u0627\u06cc\u0646\u0647\u0627 *<em>\u0631\u0648\u06cc Node \u0647\u0645 \u06a9\u0627\u0631 \u0645\u06cc\u06a9\u0646\u0647!  *<\/em><br \/>\u0627\u06af\u0631 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u06cc\u0634\u062a\u0631 \u0628\u062f\u0627\u0646\u06cc\u062f \u0641\u0642\u0637 \u0645\u0646\u0627\u0628\u0639 \u0631\u0627 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f: <\/p>\n<p>https:\/\/www.sitepen.com\/blog\/the-return-of-sharedarraybuffers-and-atomics<\/p>\n<p>https:\/\/dev.to\/feezyhendrix\/worker-threads-in-node-js-2ikh<\/p>\n<p>https:\/\/exploringjs.com\/es2016-es2017\/ch_shared-array-buffer.html<\/p>\n<p>https:\/\/blogtitle.github.io\/using-javascript-sharedarraybuffers-and-atomics\/<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"FES7JChb8G\"><p><a href=\"https:\/\/blog.logrocket.com\/understanding-sharedarraybuffer-and-cross-origin-isolation\/\" rel=\"nofollow noopener\" target=\"_blank\">Understanding SharedArrayBuffer and cross-origin isolation<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;Understanding &lt;code&gt;SharedArrayBuffer&lt;\/code&gt; and cross-origin isolation&#8221; &#8212; LogRocket Blog\" src=\"https:\/\/blog.logrocket.com\/understanding-sharedarraybuffer-and-cross-origin-isolation\/embed\/#?secret=7gzQhZ3jOB#?secret=FES7JChb8G\" data-secret=\"FES7JChb8G\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<p>https:\/\/www.tutorialspoint.com\/what-is-the-use-of-atomics-in-javascript<\/p>\n<p>https:\/\/webreflection.medium.com\/about-sharedarraybuffer-atomics-87f97ddfc098<\/p>\n<p>https:\/\/www.geeksforgeeks.org\/atomics-in-javascript\/<\/p>\n<p>https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/Atomics<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \u0645\u0648\u0631\u062f \u0639\u0644\u0627\u0642\u0647 \u0645\u0627 \u062a\u06a9 \u0631\u0634\u062a\u0647 \u0627\u06cc \u0627\u0633\u062a \u0648 \u0628\u0647 \u0627\u06cc\u0646 \u062a\u0631\u062a\u06cc\u0628\u060c \u062a\u0646\u0647\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u06cc\u06a9 \u0686\u06cc\u0632 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627 \u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0627\u06cc\u0646 \u0645\u0647\u0645 \u0627\u0633\u062a! \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u06af\u0631 \u06cc\u06a9 \u06a9\u0627\u0631 \u0637\u0648\u0644\u0627\u0646\u06cc \u0645\u062f\u062a\u060c \u0631\u0634\u062a\u0647 \u0627\u0635\u0644\u06cc \u0645\u0631\u0648\u0631\u06af\u0631 \u0631\u0627 \u0645\u0633\u062f\u0648\u062f \u06a9\u0646\u062f\u060c \u0645\u0631\u0648\u0631\u06af\u0631 \u0628\u0631\u0627\u06cc \u0631\u0646\u062f\u0631 \u06a9\u0631\u062f\u0646 \u0645\u0634\u06a9\u0644 \u062e\u0648\u0627\u0647\u062f \u062f\u0627\u0634\u062a. \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0627\u06af\u0631 \u0628\u062e\u0648\u0627\u0647\u06cc\u0645 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":30660,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-30650","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/30650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=30650"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/30650\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/30660"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=30650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=30650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=30650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}