|
|
|
|
|
by morelisp
1474 days ago
|
|
> atomic.Value isn't really atomic, since the concrete type can't ever change after being set. How does this mean it's non-atomic? As far as I know you can still never Load() a partial Store(). (Also, even if it was possible, this would never be a good idea...) |
|
In fact, it's even worse than that. If the Store() caller goes to sleep between setting the type and storing the pointer, it causes every Goroutine that calls Load() to block. They can't make forward progress if the store caller hangs.