class · System.Threading

Interlocked

public class System.Threading.Interlocked : System.Any

Atomic operations on numbers in memory reached by pointers (unsafe code): Interlocked.Add(&counts[i], 1).

Tipo
class
Espacio de nombres
System.Threading
Ensamblado
System.Core
Acceso
public, static, abstract
Archivo fuente
Threading.ant

Herencia

Clases base
Any Interlocked

Métodos

static method Add(location: i64*, value: i64) -> i64
#

static

static method Add(location: i32*, value: i32) -> i32
#

static

static method Increment(location: i64*) -> i64
#

static

static method Increment(location: i32*) -> i32
#

static

static method Decrement(location: i64*) -> i64
#

static

static method Decrement(location: i32*) -> i32
#

static

static method Exchange(location: i64*, value: i64) -> i64
#

static

static method Exchange(location: i32*, value: i32) -> i32
#

static

static method CompareExchange(location: i64*, value: i64, comparand: i64) -> i64
#

static

static method CompareExchange(location: i32*, value: i32, comparand: i32) -> i32
#

static

static method Read(location: i64*) -> i64
#

static

Miembros privados e internos (7)

static method AddAt64(at: i64*, value: i64) -> i64
#

private static

static method ExchangeAt64(at: i64*, value: i64) -> i64
#

private static

static method CompareAt64(at: i64*, expected: i64, value: i64) -> i64
#

private static

static method LoadAt64(at: i64*) -> i64
#

private static

static method AddAt32(at: i32*, value: i32) -> i32
#

private static

static method ExchangeAt32(at: i32*, value: i32) -> i32
#

private static

static method CompareAt32(at: i32*, expected: i32, value: i32) -> i32
#

private static

Miembros heredados (5)

Código fuente

Interlocked en Larva HIR, descompilado a partir de su Larva HIR.

System.Threading.Interlocked.hir
// Atomic operations on numbers in memory reached by pointers (unsafe code): `Interlocked.Add(&counts[i], 1)`.
public class System.Threading.Interlocked : System.Any
{
    static method AddAt64(at: i64*, value: i64) -> i64
    static method ExchangeAt64(at: i64*, value: i64) -> i64
    static method CompareAt64(at: i64*, expected: i64, value: i64) -> i64
    static method LoadAt64(at: i64*) -> i64
    static method AddAt32(at: i32*, value: i32) -> i32
    static method ExchangeAt32(at: i32*, value: i32) -> i32
    static method CompareAt32(at: i32*, expected: i32, value: i32) -> i32
    static method Add(location: i64*, value: i64) -> i64
    static method Add(location: i32*, value: i32) -> i32
    static method Increment(location: i64*) -> i64
    static method Increment(location: i32*) -> i32
    static method Decrement(location: i64*) -> i64
    static method Decrement(location: i32*) -> i32
    static method Exchange(location: i64*, value: i64) -> i64
    static method Exchange(location: i32*, value: i32) -> i32
    static method CompareExchange(location: i64*, value: i64, comparand: i64) -> i64
    static method CompareExchange(location: i32*, value: i32, comparand: i32) -> i32
    static method Read(location: i64*) -> i64
}
Esc