final class · System.Threading
AtomicI64
public final class AtomicI64
An i64 that threads change together (as AtomicI32).
- Tipo
- final class
- Espacio de nombres
- System.Threading
- Ensamblado
- System.Core
- Acceso
- public, final
- Archivo fuente
Threading.ant
Herencia
- Clases base
-
AnyAtomicI64
Constructores
Propiedades
Métodos
Miembros privados e internos (6)
Miembros heredados (5)
GetTypemétodo de AnyUndescribedmétodo de AnyToStringmétodo de AnyHashmétodo de Anydestroymétodo de Any
Código fuente
AtomicI64 en Antril, descompilado a partir de su Larva HIR.
// System.Threading.AtomicI64 — System.Core (decompiled from Larva HIR)
into namespace System.Threading
{
/// An i64 that threads change together (as AtomicI32).
public final class AtomicI64
{
i64 value;
static unsafe extern("atomic.load.i64") LoadAt(i64* at) : i64;
static unsafe extern("atomic.store.i64") StoreAt(i64* at, i64 value);
static unsafe extern("atomic.add.i64") AddAt(i64* at, i64 value) : i64;
static unsafe extern("atomic.xchg.i64") ExchangeAt(i64* at, i64 value) : i64;
static unsafe extern("atomic.cas.i64") CompareAt(i64* at, i64 expected, i64 value) : i64;
public:
new()
{
}
new(i64 value)
{
this.value = value;
}
Load() : i64
{
unsafe
{
return LoadAt(&value);
}
}
Store(i64 v)
{
unsafe
{
StoreAt(&value, v);
}
}
Add(i64 delta) : i64
{
unsafe
{
return AddAt(&value, delta) + delta;
}
}
Increment() : i64
{
unsafe
{
return AddAt(&value, 1) + 1;
}
}
Decrement() : i64
{
unsafe
{
return AddAt(&value, -1) - 1;
}
}
Exchange(i64 v) : i64
{
unsafe
{
return ExchangeAt(&value, v);
}
}
CompareExchange(i64 v, i64 comparand) : i64
{
unsafe
{
return CompareAt(&value, comparand, v);
}
}
i64 Value
{
get => Load();
set
{
Store(value);
}
}
}
}