AuroraRuntime/Include/Aurora/Threading
Jamie Reece Wilson ccfd0fafab [*] Why must all languages be garbage at expressing life-span of constness?
This is const-correct, as in, we don't expect to modify the pointer; you dont need to be a writer
This was const-correct, as in, this field better be a volatile block of memory you expect to update - plz dont to any retarded assumptions based on it being "const," compiler.
2023-08-22 11:08:56 +01:00
..
Primitives [*] More compact Linux primitives 2023-08-21 19:17:05 +01:00
Threads [+] AURT_ADD_USR_DATA usage across some relevant contexts 2023-06-04 17:28:29 +01:00
Waitables [*] Update a handful of condvar cas's and account for laziness along the way 2023-08-22 09:44:54 +01:00
IWaitable.hpp [+] Future proof IWaitable with Abs waits 2023-06-05 11:47:19 +01:00
LockGuard.hpp [*] SOO aware lockguards 2023-03-22 23:08:17 +00:00
LockGuardTry.hpp [*] A patch to fix some of the regressions introduced in the first step in overhauling AuAsync 2023-06-07 20:35:31 +01:00
README SleepNote.txt [+] NS readmes 2022-06-12 18:28:51 +01:00
README.md [+] AuProcess::EnvironmentGetAll 2023-07-10 17:00:42 +01:00
Sleep.hpp Initial Commit 2021-06-27 22:25:29 +01:00
SpinTime.hpp [+] Aurora::Threading::GetThreadingConfig 2023-08-20 16:23:03 +01:00
Threading.hpp [+] More threading options 2023-08-19 18:16:48 +01:00
WaitFor.hpp [*] cont 2022-01-19 18:37:09 +00:00
WakeOnAddress.hpp [*] Why must all languages be garbage at expressing life-span of constness? 2023-08-22 11:08:56 +01: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 nanosecond-resolution timed lock methods
  • SleepNs function supporting higher resolution sleep available than in most APIs (^1)
  • Enchanced Win32 support with increased yield resolution and optimization around internal XP, internal Win8, and UWP APIs
  • WakeOnAddress support on every operating system regardless of kernel support
  • 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