From fdbaff2bf72ad594506ab4664bb38765ef12219a Mon Sep 17 00:00:00 2001 From: Sergey Zubkov Date: Mon, 3 Jan 2022 17:04:06 -0500 Subject: [PATCH] [CP.2] link CP.102 list of books and add Herlihy-Shavit closes #1725 --- CppCoreGuidelines.md | 6 +++--- scripts/hunspell/isocpp.dic | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CppCoreGuidelines.md b/CppCoreGuidelines.md index 2f27e78..9e947e1 100644 --- a/CppCoreGuidelines.md +++ b/CppCoreGuidelines.md @@ -1,6 +1,6 @@ # 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 ### CP.110: Do not write your own double-checked locking for initialization diff --git a/scripts/hunspell/isocpp.dic b/scripts/hunspell/isocpp.dic index 88c9bb7..39f00ce 100644 --- a/scripts/hunspell/isocpp.dic +++ b/scripts/hunspell/isocpp.dic @@ -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