Some advice here is incorrect. Add warning and disputed notices.

Peter Bourgon 2021-04-19 15:10:56 +02:00
parent 5e4f5e34ff
commit 216fd08e15

@ -7,6 +7,8 @@ concurrency-related bugs when reviewing Go code.
You may also read through this list just once to refresh your memory and to make sure you are aware
of all these concurrency gotchas.
> ⚠️ This page is community authored and maintained. It includes information that is disputed and may be misleading or incorrect.
<hr>
Insufficient synchronisation and race conditions
@ -133,6 +135,9 @@ another goroutine receives this message. Omitting the capacity in the `make()` c
a mistake which will limit the scalability of the code, and it's likely unit test won't find such
a bug.
> ⚠️ **Disputed**. Buffered channels do not inherently increase "scalability" versus unbuffered channels. However, buffered channels can easily obscure deadlocks and other fundamental design errors that would be immediately apparent with unbuffered channels.
<a name="rwmutex"></a>
[#](#rwmutex) Sc.2. Locking with `RWMutex` incurs extra overhead compared to plain `sync.Mutex`,
and, furthermore, there might be some [scalability issue with the current implementation of