1998 · 20 citations · 3 references
ComputingComputer ScienceComputer SystemsCompilersOperating SystemsStorage SystemsConcurrency AnalysisConcurrency ControlConcurrent ProgrammingSynchronization PrimitivesThread ManagementThread ProgrammingBehavioral Pattern ModelingConcurrency Control FlowLocksRace ConditionsThread-local StorageThreading
In theory, multi-threading an application can improve performance (by executing multiple instruction streams simultaneously) and simplify program structure (by allowing each thread to execute synchronously rather than reactively or asynchronously). In practice, multi-threaded applications often perform no better, or even worse, than single-threaded applications due to the overhead of acquiring and releasing locks. In addition, multi-threaded applications are hard to program due to the complex concurrency control protocols required to avoid race conditions and deadlocks. This paper describes the Thread-Specific Storage pattern, which alleviates several problems with multi-threading performance and programming complexity. The Thread-Specific Storage pattern improves performance and simplifies multithreaded applications by allowing multiple threads to use one logically global access point to retrieve thread-specific data without incurring locking overhead for each access. 1 Intent Allows...
3
A Library Implementation of POSIX Threads under UNIX.
Frank Mueller · 1993 · 150 citations
Beyond Multiprocessing ... Multithreading the SunOS Kernel
Joseph R. Eykholt, Steve Kleiman, S. Barton et al. · Journal of Biomechanics · 1992 · 70 citations