]> Cypherpunks repositories - gostls13.git/commitdiff
doc/faq: clarify that concurrent maps reads are safe
authorIan Lance Taylor <iant@golang.org>
Fri, 19 Jan 2018 17:34:24 +0000 (09:34 -0800)
committerIan Lance Taylor <iant@golang.org>
Sat, 20 Jan 2018 01:58:21 +0000 (01:58 +0000)
Fixes #23480

Change-Id: I33b4bdc60b9983ab62d87bfa0ae3ff33304269c0
Reviewed-on: https://go-review.googlesource.com/88515
Reviewed-by: Rob Pike <r@golang.org>
doc/go_faq.html

index c038bc46bd24af877374d631676bc62c084350ed..f273688705df8f9dabc366e57e4ab0ef0d117da4 100644 (file)
@@ -479,6 +479,15 @@ as when hosting an untrusted program, the implementation could interlock
 map access.
 </p>
 
+<p>
+Map access is unsafe only when updates are occurring.
+As long as all goroutines are only reading—looking up elements in the map,
+including iterating through it using a
+<code>for</code> <code>range</code> loop—and not changing the map
+by assigning to elements or doing deletions,
+it is safe for them to access the map concurrently without synchronization.
+</p>
+
 <h3 id="language_changes">
 Will you accept my language change?</h3>