In general, after the message send goes through, the two goroutines
involved could start executing again in any order -- so the behavior
you're seeing is expected?

Is there a less toy example that this is supposed to be representative
of? Or were you just expecting it to work differently, and trying to
understand the behavior?

It's hard to give advice without knowing what you're trying to achieve;
If I wanted exactly the output you're going for I'd just do:

    for i := 0; i < 10; i++ {
        fmt.Printf("Producer %v\n", i)
        fmt.Printf("Consumer %v\n", i)
    }

..but I imagine that's not the point of the excercise.

-Ian

Quoting diego patricio (2019-01-24 16:48:35)
>    Hi, thanks for your response, still�  I dont get right result
>    image.png
>    image.png
>
>    El jue., 24 ene. 2019 a las 22:42, Christian Staffa
>    (<[1]christian.p.sta...@gmail.com>) escribió:
>
>    Hi
>    to get a synchronization with goroutines you need to use an unbuffered
>    channel. you have used a buffered channel of 1.
>    Sent from my iPhone
>    On 24. Jan 2019, at 22:11, diego patricio <[2]dipas...@gmail.com>
>    wrote:
>
>    Hi all, i'am just learning Go and goroutines, I have three goroutines
>    (main, producer, consumer) and I dont know how synchronize producer and
>    consumer for print one value at time, the output that I want is
>    Producer 0
>    Consumer 0
>    Producer 1
>    Consumer 1
>    ......
>    but the output of my program it's diferent.
>    the program:
>    <image.png>
>    The output:
>    <image.png>
>    Sorry about my english
>    Regards
>
>    --
>    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 [3]golang-nuts+unsubscr...@googlegroups.com.
>    For more options, visit [4]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 [5]golang-nuts+unsubscr...@googlegroups.com.
>    For more options, visit [6]https://groups.google.com/d/optout.
>
> Verweise
>
>    1. mailto:christian.p.sta...@gmail.com
>    2. mailto:dipas...@gmail.com
>    3. mailto:golang-nuts+unsubscr...@googlegroups.com
>    4. https://groups.google.com/d/optout
>    5. mailto:golang-nuts+unsubscr...@googlegroups.com
>    6. 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 golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to