mirror of
https://github.com/isocpp/CppCoreGuidelines.git
synced 2024-03-22 13:30:58 +08:00
Merge branch 'tituswinters-thread-tooling'
This commit is contained in:
commit
b7a3c641c6
|
@ -11697,16 +11697,16 @@ this can be a security risk.
|
|||
|
||||
##### Enforcement
|
||||
|
||||
Some is possible, do at least something.
|
||||
There are commercial and open-source tools that try to address this problem, but static tools often have many false positives and run-time tools often have a significant cost.
|
||||
We hope for better tools.
|
||||
When possible, rely on tooling enforcement, but be aware that any tooling
|
||||
solution has costs and blind spots. Defense in depth (multiple tools, multiple
|
||||
approaches) is particularly valuable here.
|
||||
|
||||
Help the tools:
|
||||
There are other ways you can mitigate the chance of data races:
|
||||
|
||||
* less global data
|
||||
* fewer `static` variables
|
||||
* more use of stack memory (and don't pass pointers around too much)
|
||||
* more immutable data (literals, `constexpr`, and `const`)
|
||||
* Avoid global data
|
||||
* Avoid `static` variables
|
||||
* More use of value types on the stack (and don't pass pointers around too much)
|
||||
* More use of immutable data (literals, `constexpr`, and `const`)
|
||||
|
||||
### <a name="Rconc-data"></a>CP.3: Minimize explicit sharing of writable data
|
||||
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
'
|
||||
0xFF0000
|
||||
0b0101'0101
|
||||
10x
|
||||
'14
|
||||
20x
|
||||
2D
|
||||
2K
|
||||
2ndEdition
|
||||
|
@ -69,6 +71,7 @@ CComPtr
|
|||
cerr
|
||||
chrono
|
||||
cin
|
||||
Clang's
|
||||
class'
|
||||
clib
|
||||
Cline99
|
||||
|
@ -492,6 +495,7 @@ toolchains
|
|||
TotallyOrdered
|
||||
TP
|
||||
tradeoff
|
||||
TSAN
|
||||
TSs
|
||||
tt
|
||||
typeid
|
||||
|
|
Loading…
Reference in New Issue
Block a user