|
You are here |
fgiesen.wordpress.com | ||
| | | | |
stefansf.de
|
|
| | | | | [AI summary] The provided text discusses the misuse of the `volatile` keyword in C programming and its inability to address concurrency and memory ordering issues. It explains that `volatile` ensures that compiler optimizations do not remove accesses to variables, but it does not guarantee memory visibility or prevent hardware reordering. The text highlights that `volatile` is only suitable for specific use cases like memory-mapped I/O, and that for thread-safe operations, atomic types and memory barriers are necessary. It also covers examples of how `volatile` can lead to incorrect behavior in multi-threaded programs and how C11's memory model and atomic operations provide a more robust solution. | |
| | | | |
www.mikeash.com
|
|
| | | | | [AI summary] This article provides a comprehensive technical guide to OSAtomic, the low-level lockless thread-safe operations in Mac OS X, covering integer operations, compare-and-swap, spinlocks, and memory barriers. | |
| | | | |
paul.bone.id.au
|
|
| | | | | CPU-bound performance often involves CPU caches. So lets dive in to CPU caches, some basics of how they're implemented, how they keep a consistent view... | |
| | | | |
antonym.org
|
|
| | | This article continues the series on threading with Boost, by looking indepth at several sample programs which illustrate different aspects ofmutexes. We lo... | ||