SharedArrayBuffer
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2021ë 12ìâ©.
* Some parts of this feature may have varying levels of support.
SharedArrayBuffer ê°ì²´ë ì ë¤ë¦, ê³ ì ë 길ì´ì ìì ë°ì´ë리 ë°ì´í° ë²í¼ë¥¼ íííëë° ì¬ì©ë©ëë¤. ArrayBuffer ê°ì²´ì ì ì¬íì§ë§, ê³µì ë ë©ëª¨ë¦¬ìì 뷰를 ìì±íëë° ì¬ì©ë ì ììµëë¤. ArrayBuffer ìë ë¬ë¦¬, SharedArrayBuffer ë ë¶ë¦¬ë ì ììµëë¤.
ì°¸ê³ :
Spectre ìëí ìëµì¼ë¡ 2018ë
1ì 5ì¼ì SharedArrayBuffer ë 모ë 주ì ë¸ë¼ì°ì ìì 기본ì ì¼ë¡ ë¹íì±íëì´ììì ì°¸ê³ íì¸ì. Chrome ì ì¬ì´í¸ 격리 기ë¥ì ì¬ì©íì¬ Spectre ì¤íì¼ ì·¨ì½ì ì¼ë¡ë¶í° ë³´í¸ë ì ìë íë«í¼ìì v67 ìì ì´ë¥¼ ë¤ì íì±ííììµëë¤.
ìëí´ ë³´ê¸°
// Create a SharedArrayBuffer with a size in bytes
const buffer = new SharedArrayBuffer(8);
console.log(buffer.byteLength);
// Expected output: 8
구문
new SharedArrayBuffer(length);
íë¼ë¯¸í°
length-
ìì±í array buffer ì ë°ì´í¸ í¬ê¸°.
ë°í ê°
í¬ê¸°ê° ì§ì ë ìë¡ì´ SharedArrayBuffer ê°ì²´ì
ëë¤. 컨í
ì¸ ë 0 ì¼ë¡ ì´ê¸°íë©ëë¤.
ì¤ëª
>í ë¹ ë° ë©ëª¨ë¦¬ ê³µì
SharedArrayBuffer ê°ì²´ë¥¼ ì¬ì©í´ ë©ëª¨ë¦¬ë¥¼ íëì agent(agent ë ì¹ íì´ì§ì ë©ì¸ íë¡ê·¸ë¨ ëë ì¹ ì커 ì¤ íëì
ëë¤)ì ë¤ë¥¸ agent ìì ê³µì í기 ìí´, postMessage ì structured cloning ì´ ì¬ì©ë©ëë¤.
Structured clone ìê³ ë¦¬ì¦ì SharedArrayBuffer ì SharedArrayBuffer ìì ë§µíë TypedArray 를 ë°ìë¤ì
ëë¤. ì´ ë ê²½ì°ìì, SharedArrayBuffer ê°ì²´ë ìì ì(receiver)ìê² ì ë¬ëì´ ìì agent(ì, ArrayBuffer)ì ìë¡ì´ ë¹ê³µê°ì SharedArrayBuffer ê°ì²´ë¥¼ ìì±í©ëë¤. íì§ë§, ë SharedArrayBuffer ì ìí´ ì°¸ì¡°ëë ê³µì ë°ì´í° ë¸ë¡ì ê°ì ë¸ë¡ì´ë©°, ë¶ìì ì¸ í¨ê³¼ë¡, íëì agent ê° ë¤ë¥¸ agent ìì ë³´ì´ê² ë©ëë¤.
var sab = new SharedArrayBuffer(1024);
worker.postMessage(sab);
Atomic operation ì¼ë¡ ê³µì ë©ëª¨ë¦¬ ìì ë° ë기í
ê³µì ë©ëª¨ë¦¬ë ì커ë ë©ì¸ ì¤ë ëìì ëìì ìì ë° ìì±í ì ììµëë¤. ìì¤í (CPU, OS, ë¸ë¼ì°ì )ìë°ë¼ ë³ê²½ì¬íì´ ì ì²´ 컨í ì¤í¸ë¡ ì íë ëê¹ì§ ì½ê°ì ìê°ì´ íìí©ëë¤. ë기í를 ìí´ì , atomic ì°ì°ì´ íìí©ëë¤.
SharedArrayBuffer ê°ì²´ë¥¼ ì¬ì©í ì ìë API
ìì±ìë new ì°ì°ì를 íìë¡ í¨
SharedArrayBuffer ìì±ìë ìì±ë ë, new ì°ì°ì를 íìë¡ í©ëë¤. SharedArrayBuffer ìì±ì를 new ìì´ í¨ìë¡ì¨ í¸ì¶íë©´, TypeError 를 ì¼ì¼í¬ ê² ì
ëë¤.
var sab = SharedArrayBuffer(1024);
// TypeError: calling a builtin SharedArrayBuffer constructor
// without new is forbidden
var sab = new SharedArrayBuffer(1024);
ìì±
-
ê°ì´ 1ì¸
SharedArrayBufferìì±ìì length ìì±ì ëë¤. -
모ë
SharedArrayBufferê°ì²´ì íë¡í¼í° ì¶ê°ë¥¼ ê°ë¥íê² í´ì¤ëë¤.
SharedArrayBuffer prototype ê°ì²´
모ë SharedArrayBuffer ì¸ì¤í´ì¤ë SharedArrayBuffer.prototype 를 ììí©ëë¤.
ìì±
-
ë°°ì´ì í¬ê¸° (ë°ì´í¸)ì ëë¤. ì´ê²ì ë°°ì´ì´ êµ¬ì± ë ë ì¤ì ëë©° ë³ê²½í ì ììµëë¤. ì½ê¸° ì ì©ì ëë¤.
ë©ìë
-
Returns a new
SharedArrayBufferwhose contents are a copy of thisSharedArrayBuffer's bytes frombegin, inclusive, up toend, exclusive.beginëëendì¤ íëê° ììì´ë©´ ì²ìë¶í°ê° ìëë¼ ë°°ì´ ëì ì¸ë±ì¤ë¥¼ 참조í©ëë¤.
ëª ì¸
| Specification |
|---|
| ECMAScript® 2026 Language Specification > # sec-sharedarraybuffer-objects > |
ë¸ë¼ì°ì í¸íì±
í¨ê» 보기
AtomicsArrayBuffer- JavaScript íìí ë°°ì´
- Web Workers
- parlib-simple â ë기í ë° ìì ë¶ë¦¬ ì¶ìí를 ì ê³µíë ê°ë¨í ë¼ì´ë¸ë¬ë¦¬.
- Shared Memory â ê°ë¨í íí 리ì¼
- A Taste of JavaScript's New Parallel Primitives â Mozilla Hacks