Several synchronization primitives and task synchronization mechanisms introduced to aid in modern swift concurrency.
AsyncObject
: propagate cancellation error instead of swallowing (#8)TaskOperation
: use platform lock primitive instead of DispatchQueue
for synchronizationTaskOperation
: use platform lock primitive instead of DispatchQueue
for synchronization (f28ee66)TaskOperation
: allow customizing priority of task (6650693)TaskOperation
: allow executing as detached task (#7) (e3dcfeb)TaskOperation
: allow tracking child tasks completion (571419d)TaskQueue
: allow adding task to queue wihout waiting for completion (d8ee18a)AsyncObject
: propagate cancellation error instead of swallowing (#8) (9f7f243)TaskOperation
: add separate error for retrieving result without starting (9a852d9)CheckedContinuation
for debug mode or for ASYNCOBJECTS_USE_CHECKEDCONTINUATION
flag (3899792)barrier
and block
flags for TaskQueue
(d3e566a)libdispatch
with structured concurrency (51b302e)TaskQueue
(df5e6e7)Future
(d4d658f)