- public int64 atomic_int64_add (ref int64 atomic, int64 val)
Atomically adds val to the value of atomic.
- public uint64 atomic_int64_and (ref uint64 atomic, uint64 val)
Performs an atomic bitwise 'and' of the value of atomic and
val, storing the result back in atomic.
- public bool atomic_int64_compare_and_exchange (ref int64 atomic, int64 oldval, int64 newval)
Compares atomic to oldval and, if equal, sets it to
newval. If atomic was not equal to oldval then no change occurs.
- public bool atomic_int64_dec_and_test (ref int64 atomic)
Decrements the value of atomic by 1.
- public int64 atomic_int64_get (ref int64 atomic)
Gets the current value of atomic.
- public void atomic_int64_inc (ref int64 atomic)
Increments the value of atomic by 1.
- public uint64 atomic_int64_or (ref uint64 atomic, uint64 val)
Performs an atomic bitwise 'or' of the value of atomic and
val, storing the result back in atomic.
- public void atomic_int64_set (ref int64 atomic, int64 newval)
Sets the value of atomic to newval.
- public uint64 atomic_int64_xor (ref uint64 atomic, uint64 val)
Performs an atomic bitwise 'xor' of the value of atomic and
val, storing the result back in atomic.
- public void blocking (VoidTaskFunc func) throws Error
Runs the given blocking task.
- public G blocking_get<G> (TaskFunc<G> func) throws Error
Runs the given blocking task and returns the result.
- public G[] join<G> (owned TaskFunc<G> left, owned TaskFunc<G> right) throws Error
Runs the subtasks and returns the results.
- public Future<void*> parallel_sort<G> (G[] array, owned CompareDataFunc<G>? compare = null)
Sorts the given array by comparing with the specified compare
function, in parallel. The sort is stable.
- public Future<void*> run (owned VoidTaskFunc func)
Schedules the given function to execute asynchronously.
- public Future<G> task<G> (owned TaskFunc<G> func)
Schedules the given function to execute asynchronously.