Is the size of a pointer value 32 bits or 64 bits in golang when build with 
`GOARCH=amd64` option specified and running on 64-bit OS?
If it's 64-bit size, is a global pointer value 8-byte aligned in memory so 
that a read or write operation of that pointer value is carried out 
atomically?
For example, in the following code, is it possible that the global pointer 
p is only partially updated when the read goroutine read the pointer?
var p *int

void main() {
    i := 1
    p = &i
    go func() { fmt.Println(*p) } ()
}

The scenario I'm concerning is that there is only one write but multiple 
reads on a global pointer value, and reading of an old value of the pointer 
is not important. Thanks in advance!

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to