mirror of
https://github.com/isocpp/CppCoreGuidelines.git
synced 2025-12-17 04:44:34 +03:00
@@ -1,6 +1,6 @@
|
|||||||
# <a name="main"></a>C++ Core Guidelines
|
# <a name="main"></a>C++ Core Guidelines
|
||||||
|
|
||||||
June 17, 2021
|
January 3, 2022
|
||||||
|
|
||||||
|
|
||||||
Editors:
|
Editors:
|
||||||
@@ -14111,7 +14111,7 @@ Unless you do, nothing is guaranteed to work and subtle errors will persist.
|
|||||||
##### Note
|
##### 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.
|
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
|
##### 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, 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 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.
|
* 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
|
### <a name="Rconc-double"></a>CP.110: Do not write your own double-checked locking for initialization
|
||||||
|
|
||||||
|
|||||||
@@ -225,6 +225,7 @@ gx
|
|||||||
handcoded
|
handcoded
|
||||||
Henricson
|
Henricson
|
||||||
Henricson97
|
Henricson97
|
||||||
|
Herlihy
|
||||||
hh
|
hh
|
||||||
hier
|
hier
|
||||||
hierclass
|
hierclass
|
||||||
@@ -294,6 +295,7 @@ Lomow
|
|||||||
longjmp
|
longjmp
|
||||||
LSP
|
LSP
|
||||||
lst
|
lst
|
||||||
|
Luchangco
|
||||||
lvalue
|
lvalue
|
||||||
lvalues
|
lvalues
|
||||||
m1
|
m1
|
||||||
@@ -356,6 +358,7 @@ Naumann
|
|||||||
ness
|
ness
|
||||||
newdelete
|
newdelete
|
||||||
nh
|
nh
|
||||||
|
Nir
|
||||||
NL
|
NL
|
||||||
nodiscard
|
nodiscard
|
||||||
noexcept
|
noexcept
|
||||||
@@ -507,6 +510,7 @@ SemiRegular
|
|||||||
Sergey
|
Sergey
|
||||||
Sewell
|
Sewell
|
||||||
SFINAE
|
SFINAE
|
||||||
|
Shavit
|
||||||
sharedFoo
|
sharedFoo
|
||||||
sharedness
|
sharedness
|
||||||
sharedptrparam
|
sharedptrparam
|
||||||
|
|||||||
Reference in New Issue
Block a user