mirror of
https://github.com/isocpp/CppCoreGuidelines.git
synced 2025-12-17 12:44:42 +03:00
@@ -1,6 +1,6 @@
|
||||
# <a name="main"></a>C++ Core Guidelines
|
||||
|
||||
June 17, 2021
|
||||
January 3, 2022
|
||||
|
||||
|
||||
Editors:
|
||||
@@ -14111,7 +14111,7 @@ Unless you do, nothing is guaranteed to work and subtle errors will persist.
|
||||
##### Note
|
||||
|
||||
In a nutshell, if two threads can access the same object concurrently (without synchronization), and at least one is a writer (performing a non-`const` operation), you have a data race.
|
||||
For further information of how to use synchronization well to eliminate data races, please consult a good book about concurrency.
|
||||
For further information of how to use synchronization well to eliminate data races, please consult a good book about concurrency (See [Carefully study the literature](#Rconc-literature)).
|
||||
|
||||
##### Example, bad
|
||||
|
||||
@@ -15411,7 +15411,7 @@ Become an expert before shipping lock-free code for others to use.
|
||||
* Damian Dechev, Peter Pirkelbauer, and Bjarne Stroustrup: Understanding and Effectively Preventing the ABA Problem in Descriptor-based Lock-free Designs. 13th IEEE Computer Society ISORC 2010 Symposium. May 2010.
|
||||
* Damian Dechev and Bjarne Stroustrup: Scalable Non-blocking Concurrent Objects for Mission Critical Code. ACM OOPSLA'09. October 2009
|
||||
* Damian Dechev, Peter Pirkelbauer, Nicolas Rouquette, and Bjarne Stroustrup: Semantically Enhanced Containers for Concurrent Real-Time Systems. Proc. 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (IEEE ECBS). April 2009.
|
||||
|
||||
* Maurice Herlihy, Nir Shavit, Victor Luchangco, Michael Spear, "The Art of Multiprocessor Programming", 2nd ed. September 2020
|
||||
|
||||
### <a name="Rconc-double"></a>CP.110: Do not write your own double-checked locking for initialization
|
||||
|
||||
|
||||
@@ -225,6 +225,7 @@ gx
|
||||
handcoded
|
||||
Henricson
|
||||
Henricson97
|
||||
Herlihy
|
||||
hh
|
||||
hier
|
||||
hierclass
|
||||
@@ -294,6 +295,7 @@ Lomow
|
||||
longjmp
|
||||
LSP
|
||||
lst
|
||||
Luchangco
|
||||
lvalue
|
||||
lvalues
|
||||
m1
|
||||
@@ -356,6 +358,7 @@ Naumann
|
||||
ness
|
||||
newdelete
|
||||
nh
|
||||
Nir
|
||||
NL
|
||||
nodiscard
|
||||
noexcept
|
||||
@@ -507,6 +510,7 @@ SemiRegular
|
||||
Sergey
|
||||
Sewell
|
||||
SFINAE
|
||||
Shavit
|
||||
sharedFoo
|
||||
sharedness
|
||||
sharedptrparam
|
||||
|
||||
Reference in New Issue
Block a user