From 6788987eaeb886066958855e0dd2b12778204543 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Fri, 13 Apr 2018 19:58:08 +0000 Subject: content: change more links from http to https talks.golang.org blog.golang.org godoc.org swtch.com And few misc ones done by hand. Change-Id: Ia2c4fee630814a1ef3b143098bbac3edd6a45064 Reviewed-on: https://go-review.googlesource.com/106977 Reviewed-by: Andrew Bonventre --- content/share-memory-by-communicating.article | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'content/share-memory-by-communicating.article') diff --git a/content/share-memory-by-communicating.article b/content/share-memory-by-communicating.article index 5eaa278..2d9e77a 100644 --- a/content/share-memory-by-communicating.article +++ b/content/share-memory-by-communicating.article @@ -8,7 +8,7 @@ Andrew Gerrand Traditional threading models (commonly used when writing Java, C++, and Python programs, for example) require the programmer to communicate between threads using shared memory. Typically, shared data structures are protected by locks, and threads will contend over those locks to access the data. In some cases, this is made easier by the use of thread-safe data structures such as Python's Queue. -Go's concurrency primitives - goroutines and channels - provide an elegant and distinct means of structuring concurrent software. (These concepts have an [[http://swtch.com/~rsc/thread/][interesting history]] that begins with C. A. R. Hoare's [[http://www.usingcsp.com/][Communicating Sequential Processes]].) Instead of explicitly using locks to mediate access to shared data, Go encourages the use of channels to pass references to data between goroutines. This approach ensures that only one goroutine has access to the data at a given time. The concept is summarized in the document [[https://golang.org/doc/effective_go.html][Effective Go]] (a must-read for any Go programmer): +Go's concurrency primitives - goroutines and channels - provide an elegant and distinct means of structuring concurrent software. (These concepts have an [[https://swtch.com/~rsc/thread/][interesting history]] that begins with C. A. R. Hoare's [[http://www.usingcsp.com/][Communicating Sequential Processes]].) Instead of explicitly using locks to mediate access to shared data, Go encourages the use of channels to pass references to data between goroutines. This approach ensures that only one goroutine has access to the data at a given time. The concept is summarized in the document [[https://golang.org/doc/effective_go.html][Effective Go]] (a must-read for any Go programmer): _Do_not_communicate_by_sharing_memory;_instead,_share_memory_by_communicating._ -- cgit v1.2.3