electron-direct-ipc - v2.4.0
    Preparing search index...

    Variable SharedAtomicsConst

    SharedAtomics: {
        add<
            T extends
                | Int32Array<ArrayBufferLike>
                | Uint32Array<ArrayBufferLike>
                | BigInt64Array<ArrayBufferLike>
                | BigUint64Array<ArrayBufferLike>,
        >(
            typedArray: T,
            index: number,
            value: T extends | BigInt64Array<ArrayBufferLike>
            | BigUint64Array<ArrayBufferLike>
                ? bigint
                : number,
        ): T extends | BigInt64Array<ArrayBufferLike>
        | BigUint64Array<ArrayBufferLike>
            ? bigint
            : number;
        compareExchange<
            T extends
                | Int32Array<ArrayBufferLike>
                | Uint32Array<ArrayBufferLike>
                | BigInt64Array<ArrayBufferLike>
                | BigUint64Array<ArrayBufferLike>,
        >(
            typedArray: T,
            index: number,
            expectedValue: T extends | BigInt64Array<ArrayBufferLike>
            | BigUint64Array<ArrayBufferLike>
                ? bigint
                : number,
            replacementValue: T extends | BigInt64Array<ArrayBufferLike>
            | BigUint64Array<ArrayBufferLike>
                ? bigint
                : number,
        ): T extends | BigInt64Array<ArrayBufferLike>
        | BigUint64Array<ArrayBufferLike>
            ? bigint
            : number;
        load<
            T extends
                | Int32Array<ArrayBufferLike>
                | Uint32Array<ArrayBufferLike>
                | BigInt64Array<ArrayBufferLike>
                | BigUint64Array<ArrayBufferLike>,
        >(
            typedArray: T,
            index: number,
        ): T extends | BigInt64Array<ArrayBufferLike>
        | BigUint64Array<ArrayBufferLike>
            ? bigint
            : number;
        notify(
            typedArray:
                | Int32Array<ArrayBufferLike>
                | BigInt64Array<ArrayBufferLike>,
            index: number,
            count?: number,
        ): number;
        store<
            T extends
                | Int32Array<ArrayBufferLike>
                | Uint32Array<ArrayBufferLike>
                | BigInt64Array<ArrayBufferLike>
                | BigUint64Array<ArrayBufferLike>,
        >(
            typedArray: T,
            index: number,
            value: T extends | BigInt64Array<ArrayBufferLike>
            | BigUint64Array<ArrayBufferLike>
                ? bigint
                : number,
        ): T extends | BigInt64Array<ArrayBufferLike>
        | BigUint64Array<ArrayBufferLike>
            ? bigint
            : number;
        wait(
            typedArray:
                | Int32Array<ArrayBufferLike>
                | BigInt64Array<ArrayBufferLike>,
            index: number,
            value: number | bigint,
            timeout?: number,
        ): "ok" | "not-equal" | "timed-out";
    } = ...

    Atomics helper - Use Atomics for thread-safe operations on shared memory

    Note: These wrapper methods only support Int32Array, Uint32Array, BigInt64Array, and BigUint64Array backed by SharedArrayBuffer. While the native Atomics API supports additional types (Int8Array, Uint8Array, Int16Array, Uint16Array), this wrapper focuses on the most commonly used types for inter-process synchronization.

    Type Declaration

    • add: function
      • Atomically add a value and return the old value

        Type Parameters

        • T extends
              | Int32Array<ArrayBufferLike>
              | Uint32Array<ArrayBufferLike>
              | BigInt64Array<ArrayBufferLike>
              | BigUint64Array<ArrayBufferLike>

        Parameters

        • typedArray: T
        • index: number
        • value: T extends BigInt64Array<ArrayBufferLike>
          | BigUint64Array<ArrayBufferLike>
              ? bigint
              : number

        Returns T extends BigInt64Array<ArrayBufferLike>
        | BigUint64Array<ArrayBufferLike>
            ? bigint
            : number

    • compareExchange: function
      • Atomically compare and exchange

        Type Parameters

        • T extends
              | Int32Array<ArrayBufferLike>
              | Uint32Array<ArrayBufferLike>
              | BigInt64Array<ArrayBufferLike>
              | BigUint64Array<ArrayBufferLike>

        Parameters

        • typedArray: T
        • index: number
        • expectedValue: T extends BigInt64Array<ArrayBufferLike>
          | BigUint64Array<ArrayBufferLike>
              ? bigint
              : number
        • replacementValue: T extends BigInt64Array<ArrayBufferLike>
          | BigUint64Array<ArrayBufferLike>
              ? bigint
              : number

        Returns T extends BigInt64Array<ArrayBufferLike>
        | BigUint64Array<ArrayBufferLike>
            ? bigint
            : number

    • load: function
      • Atomically load a value

        Type Parameters

        • T extends
              | Int32Array<ArrayBufferLike>
              | Uint32Array<ArrayBufferLike>
              | BigInt64Array<ArrayBufferLike>
              | BigUint64Array<ArrayBufferLike>

        Parameters

        • typedArray: T
        • index: number

        Returns T extends BigInt64Array<ArrayBufferLike>
        | BigUint64Array<ArrayBufferLike>
            ? bigint
            : number

    • notify: function
      • Wake up waiting threads

        Parameters

        • typedArray: Int32Array<ArrayBufferLike> | BigInt64Array<ArrayBufferLike>
        • index: number
        • Optionalcount: number

        Returns number

    • store: function
      • Atomically store a value

        Type Parameters

        • T extends
              | Int32Array<ArrayBufferLike>
              | Uint32Array<ArrayBufferLike>
              | BigInt64Array<ArrayBufferLike>
              | BigUint64Array<ArrayBufferLike>

        Parameters

        • typedArray: T
        • index: number
        • value: T extends BigInt64Array<ArrayBufferLike>
          | BigUint64Array<ArrayBufferLike>
              ? bigint
              : number

        Returns T extends BigInt64Array<ArrayBufferLike>
        | BigUint64Array<ArrayBufferLike>
            ? bigint
            : number

    • wait: function
      • Wait for a value to change (blocking) Only works in workers/utility processes, not main thread

        Parameters

        • typedArray: Int32Array<ArrayBufferLike> | BigInt64Array<ArrayBufferLike>
        • index: number
        • value: number | bigint
        • Optionaltimeout: number

        Returns "ok" | "not-equal" | "timed-out"