I am not sure those critical failures outlined in the paper are possible in Go, certainly not Java, but I’d like to understand more.
I don’t think the ‘re-using of the memory’ can happen, since it is a local variable, and to be seen by another thread it would be captured in a closure and be protected, and if it was a global variable I think the compiler rules must prevent a using it for temporary storage, since it could mapped to an IO location, etc. I’ve never seen the re-use as temporary storage - is there some proven literature on this? > On Feb 2, 2019, at 2:35 PM, [email protected] wrote: > > Always a good read on why that is still a problem: > Benign Data Races: What Could Possibly Go Wrong? > <https://software.intel.com/en-us/blogs/2013/01/06/benign-data-races-what-could-possibly-go-wrong> > It is not specific to go, but mostly applies to any language, and is stuff > all developers should know. > > On Friday, February 1, 2019 at 4:58:11 PM UTC-5, Michael Ellis wrote: > > > On Friday, February 1, 2019 at 11:11:24 AM UTC-5, robert engels wrote: > > for { > if A.a > 100 { > break > } > > > Go routine #2 may never see the value of A.a change and so never exit the > loop. > > I'm confused. I can see how that would fail if the test were A.a == 100 since > Go routine #1 might increment past 100 before #2 , but as written it seems > wrong only if the application logic depends on Go routine #2 exiting the loop > as soon as A.a reaches 100 (as opposed to any time afterward.) > > What am I missing? > > > > -- > 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 [email protected] > <mailto:[email protected]>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
