A fixed-length block of memory that is shared (not copied) when sent to a worker, with a small atomic-integer API on top.
Only usable when the page is cross-origin isolated (COOP/COEP headers — see the README section "SharedArrayBuffer and cross-origin isolation"). Check isSupported or use tryAllocate; both never throw on any platform. The typed-data accessors return views: writes through them and through the atomic methods are visible to every agent holding the buffer.
A SharedBuffer may be placed anywhere inside a WorkerPool task payload
and arrives in the worker as a view of the same memory.
- Implementers
Constructors
-
Allocates
byteLengthbytes of shared memory.factory
Properties
- byteLength → int
-
Total length of the buffer, in bytes.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
asFloat64List(
) → Float64List - A 64-bit float view over the buffer (byteLength ~/ 8 elements).
-
asInt32List(
) → Int32List - A signed 32-bit view over the buffer (byteLength ~/ 4 elements).
-
asUint8List(
) → Uint8List - A byte view over the whole buffer.
-
atomicAdd(
int index, int value) → int -
Atomically adds
valueto the 32-bit element atindexand returns the previous value.indexis inInt32elements, not bytes. -
atomicLoad(
int index) → int -
Atomically reads the 32-bit element at
index. -
atomicStore(
int index, int value) → void -
Atomically writes
valueto the 32-bit element atindex. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- isSupported → bool
-
Whether shared memory can be allocated here.
falseoff the web and on non-isolated pages; never throws.no setter
Static Methods
-
tryAllocate(
int byteLength) → SharedBuffer? -
Allocates
byteLengthbytes of shared memory, or returnsnullwhere unsupported — the never-throwing counterpart of SharedBuffer.allocate.