It’s hard to respond. I have done a lot of concurrent programming and haven’t 
heard the term “vector clock” so I am not sure what you are referring to.  You 
can write a logical “clock cycle” by sampling both and choosing the higher 
priority event - but overall performance is going to suffer greatly. 

There is not such thing as “priority” across multiple resources that are 
independent - by definition the order is undefined as nothing is instantaneous 
in practice. Happens before is going to be per channel - but in practice the 
memory flush is going to occur in either case (because of the backing locks) 
but it’s not guaranteed. 

> On Sep 8, 2019, at 10:53 AM, changkun <euryugas...@gmail.com> wrote:
> 
> Hi Kurtis,
> 
> I am aware that you are talking about the happen-before algorithm which is 
> basically the vector clock.
> 
> However, this discussion aims for the discussion regarding this proposal:
> 
> "the close statement should happens-before select statement that starts 
> choosing which case 
> should be executing, and select a closed channel with the highest priority to 
> prevent another receive case being executed once more."
> 
> We are not entering write any code before we confirm that it is worthy.
> 
>> On Sunday, September 8, 2019 at 5:46:43 PM UTC+2, Kurtis Rader wrote:
>>> On Sun, Sep 8, 2019 at 8:40 AM changkun <euryu...@gmail.com> wrote:
>> 
>>> The provided code snipped on my machine can result in different outputs, 
>>> which basically shows that it could occur in any order.
>> 
>> Yes
>>  
>>> The randomization mechanism in select statement made the verification hard. 
>>> Logically, my argument is rigorous
>> 
>> No, it isn't. You need to learn a lot more about concurrency and race 
>> conditions.
>> 
>> -- 
>> Kurtis Rader
>> Caretaker of the exceptional canines Junior and Hank
> 
> -- 
> 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.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/d1c412e6-c775-49a6-8d1d-c417497dc9be%40googlegroups.com.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/297D58C7-04D4-4F6C-A6F2-62131724B071%40ix.netcom.com.

Reply via email to