Home > Blockchain >  Should I use synchronization for visibility of a single pointer?
Should I use synchronization for visibility of a single pointer?

Time:10-07

As per the reference, it says

Otherwise, each read of a single-word-sized or sub-word-sized memory location must observe a value actually written to that location (perhaps by a concurrent executing goroutine) and not yet overwritten.

Since a pointer is word-sized, does that mean synchronization is not necessary for mere purpose of visiblity?

CodePudding user response:

No, visibility means that when one goroutine writes to a variable, other goroutines see the change. So, visibility requires synchronization. Otherwise a reading goroutine will possibly see a stale (not updated) value of the variable.

  •  Tags:  
  • go
  • Related