\makeglossaries \longnewglossaryentry{callsite-locking} {name={callsite-locking}} { Locking done by the calling routine. With this technique, a routine calling a monitor routine will aquire the monitor \emph{before} making the call to the actuall routine. } \longnewglossaryentry{entry-point-locking} {name={entry-point-locking}} { Locking done by the called routine. With this technique, a monitor routine called by another routine will aquire the monitor \emph{after} entering the routine body but prior to any other code. } \longnewglossaryentry{group-acquire} {name={bulk acquiring}} { Implicitly acquiring several monitors when entering a monitor. } \longnewglossaryentry{mon-ctx} {name={monitor context}} { The state of the current thread regarding which monitors are owned. } \longnewglossaryentry{uthread} {name={user-level thread}} { Threads created and managed inside user-space. Each thread has its own stack and its own thread of execution. User-level threads are insisible to the underlying operating system. \textit{Synonyms : User threads, Lightweight threads, Green threads, Virtual threads, Tasks.} } \longnewglossaryentry{kthread} {name={kernel-level thread}} { Threads created and managed inside kernel-space. Each thread has its own stack and its own thread of execution. Kernel-level threads are owned, managed and scheduled by the underlying operating system. \textit{Synonyms : OS threads, Hardware threads, Physical threads.} } \longnewglossaryentry{fiber} {name={fiber}} { Fibers are non-preemptive user-level threads. They share most of the caracteristics of user-level threads except that they cannot be preempted by an other fiber. \textit{Synonyms : Tasks.} } \longnewglossaryentry{job} {name={job}} { Unit of work, often send to a thread pool or worker pool to be executed. Has neither its own stack or its own thread of execution. \textit{Synonyms : Tasks.} } \longnewglossaryentry{pool} {name={thread-pool}} { Group of homogeneuous threads that loop executing units of works after another. \textit{Synonyms : } } \longnewglossaryentry{cfacluster} {name={cluster}} { TBD... \textit{Synonyms : None.} } \longnewglossaryentry{cfacpu} {name={processor}} { TBD... \textit{Synonyms : None.} } \longnewglossaryentry{cfathread} {name={thread}} { TBD... \textit{Synonyms : None.} } \longnewglossaryentry{preemption} {name={preemption}} { TBD... \textit{Synonyms : None.} } \newacronym{tls}{TLS}{Thread Local Storage} \newacronym{api}{API}{Application Program Interface} \newacronym{raii}{RAII}{Ressource Acquisition Is Initialization}