AuroraRuntime/Include/Aurora/Threading
Reece Wilson 51a2816f3f [*] Merge GTK JS's branch fix for async shutdown
[+] IConditionMutex::TryLock()
... Timed is still too much of an ask for this interface, i think. There's a good reason as to why this isn't a iwaitable. This condvar interface must be as common and primitive as possible.
2023-01-30 13:26:17 +00:00
..
Primitives [*] Merge GTK JS's branch fix for async shutdown 2023-01-30 13:26:17 +00:00
Threads [+] IAuroraThread::UnsafeForceTerminateSignal 2022-08-14 00:32:39 +01:00
Waitables [+] NS readmes 2022-06-12 18:28:51 +01:00
IWaitable.hpp [*] Cheeky AuThreadPrimitives refactor 2022-06-01 22:49:38 +01:00
LockGuard.hpp [*] Fix more scuffed time logic 2022-01-21 19:36:56 +00:00
LockGuardTry.hpp [*] Typos and comments 2022-06-29 14:56:59 +01:00
README SleepNote.txt [+] NS readmes 2022-06-12 18:28:51 +01:00
README.md [+] NS readmes 2022-06-12 18:28:51 +01:00
Sleep.hpp Initial Commit 2021-06-27 22:25:29 +01:00
Threading.hpp [+] Added TryLockGuard; AU_TRY_LOCK_GUARD_RET_DEF, AU_TRY_LOCK_GUARD, AU_TRY_LOCK_GUARD_RET_VAL, AU_TRY_LOCK_GUARD_RET_DEF 2021-12-24 16:25:12 +00:00
WaitFor.hpp [*] cont 2022-01-19 18:37:09 +00:00

AuThreading

Features

  • Thread synchronization primitives: condition ex, condition mutex, condition variable, critical section, event, mutex, rwlock, semaphore, and spinlock
  • All primitives include a trylock and a timed lock member
  • SleepNs function supporting higher resolution sleep available than in most APIs (^1)
  • Thread Object per native OS thread
  • Thread spawning with TLS handles and shutdown routines dispatched under pseudo fibers
  • Update thread affinity, throttle, name, and related attributes
  • Lock Util: AU_LOCK_GUARD(pointer/reference/shared ptr)
  • Lock Util: AU_TRY_LOCK_GUARD[...](pointer/reference/shared ptr)

^1: README SleepNote.txt