FAQ
I have put together a document, that I hope, will help clarify the
subtleties of channel synchronisation that we have been discussing recently.

It presents a simple visualisation to represent the "happens-before"
relationships guaranteed by the Go memory model.

I would appreciate if people could review the document for correctness or
suggest cases for which this visualisation doesn't help.

I'm attaching the document as PDF. I will make it available in Google Docs
once I work out how to import ODT files.

Again, I'd appreciate any feedback. Thanks in advance.


Nico

--
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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Search Discussions

  • N. Riesco - GMail at May 30, 2013 at 11:41 am
    And here is the link to the version in google docs:

    https://docs.google.com/document/d/1h5YSWCELBqH3ILW3HmkVIpCt2Gpn02FBSF50kPz921s/pub


    Nico

    --
    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+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Kamil Kisiel at May 30, 2013 at 6:14 pm
    It would be nice if you opened up the Google Doc to commenting to make this
    easier...

    I'm definitely no expert on the Go memory model but this sentence doesn't
    make any sense to me:

    That is, although for goroutine f() s=”hello” happens-before <-ch,
    goroutine main() could potentially see that <-ch has not happened before
    <-ch.

    On Thursday, May 30, 2013 4:41:35 AM UTC-7, Nico wrote:

    And here is the link to the version in google docs:


    https://docs.google.com/document/d/1h5YSWCELBqH3ILW3HmkVIpCt2Gpn02FBSF50kPz921s/pub


    Nico
    --
    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+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Nico at May 30, 2013 at 7:39 pm
    Sorry about that! Here's a link that allows commenting:

    https://docs.google.com/document/d/1h5YSWCELBqH3ILW3HmkVIpCt2Gpn02FBSF50kPz921s/edit?usp=sharing

    On Thursday, May 30, 2013 7:14:16 PM UTC+1, Kamil Kisiel wrote:

    It would be nice if you opened up the Google Doc to commenting to make
    this easier...

    I'm definitely no expert on the Go memory model but this sentence doesn't
    make any sense to me:

    That is, although for goroutine f() s=”hello” happens-before <-ch,
    goroutine main() could potentially see that <-ch has not happened before
    <-ch.

    Yes, you're right. You probably have already guessed, it should read:

    "That is, although for goroutine f() s=”hello” happens-before <-ch,
    goroutine main() could potentially see that s=”hello” has not happened
    before <-ch.


    --
    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+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupgolang-nuts @
categoriesgo
postedMay 30, '13 at 10:00a
activeMay 30, '13 at 7:39p
posts4
users2
websitegolang.org

2 users in discussion

Nico: 3 posts Kamil Kisiel: 1 post

People

Translate

site design / logo © 2022 Grokbase