Threads
- 21
- The Pillars of Concurrency
- This article makes the case that a consistent mental model is needed to talk about concurrency.
- 22
- Understanding Parallel Performance
- Explains how to accurately analyze the real performance of parallel code and lists some basic considerations and common costs.
- 23
- Use Lock Hierarchies to Avoid Deadlock
- Explains how to use lock hierarchies to avoid deadlock by assigning each shared resource a level that corresponds to its architectural layer.
- 24
- What's New in Boost Threads?
- The Boost.Thread library, which enables the use of multiple threads of execution with shared data in portable C++ code, has undergone some major changes.
- 25
- Writing Lock-Free Code: A Corrected Queue
- Explores lock-free code by focusing on creating a lock-free queue.
- 28
- volatile - Multithreaded Programmer's Best Friend
- Discusses the usage of the volatile keyword in multithreaded C++ programs.
- 29
- Welcome to the Jungle
- Herb Sutter is looking at how mainstream hardware is becoming permanently parallel, heterogeneous, and distributed. (December 29, 2011)
- 30
- Concurrency in the D Programming Language
- Andrei Alexandrescu explains recent hardware changes allowing concurrency and how the D programming languages addresses these possibilities. (July 06, 2010)
- 31
- Avoiding the Perils of C++0x Data Races
- Find out what dangers race conditions in general and C++0x data races in particular pose to concurrent code, as well as the strategies for avoiding them. (September 10, 2009)
- 32
- Multi-threaded Algorithm Implementations
- Explores effective uses of threads by looking at a multi-threaded implementation of the QuickSort algorithm and reports on situations where using threads will not help. (June 18, 2009)
- 33
- It's (Not) All Been Done
- Every decade or so there is a major revolution in the way software is developed. But, unlike the object and web revolutions, the concurrency revolution can be seen coming. (September 01, 2006)
- 34
- The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software
- The biggest sea change in software development since the OO revolution is knocking at the door, and its name is Concurrency. (March 01, 2005)
- 35
- GNU Pth
- Portable Threads: portable POSIX/ANSI-C library for Unix gives non-preemptive priority-based scheduling for multithreading in programs. All threads run in same address space, each has its own program counter, run time stack, signal mask, errno variable; cooperative scheduling: threads dispatched based on priority, pending events. [Open Source, GPL]
- 36
- Introduction to Programming Threads
- Introduces what threads are, why they are useful and how to program with them using the POSIX 1003.1c thread standard and API bindings for C.
- 37
- Measuring Lock Contention
- A mutex profiler called mutrace that in contrast to valgrind/drd does not virtualize the CPU instruction set, making it a lot faster. In fact, the hooks mutrace relies on to profile mutex operations should only minimally influence application runtime. mutrace is not useful for finding synchronizations bugs, it is solely useful for profiling locks.