Ø  I don't think it needs to be uniformly fair. It just needs to prevent 
starvation of a channel for infinity. Any proof would have progress covered if 
we pick every channel once in a while, even under a heavily unfair weighting. 
You have to balance out the overhead of rolling a fair dice and the speed at 
which you can select on channels.

 

If it were uniformly fair then you couldn’t guarantee picking every channel 
once in a while.  Statistically it would be become more and more probable, but 
never 100%.

 

Why not just use round-robin?  That would guarantee it and it’s a faster 
algorithm, I would think.  Also, it would sometimes save checking all cases 
since you could check them in order, stopping when (if) you found one ready.

 

Are there situations where it is better for it to be random or is there some 
implementation advantage (not having to save state for the select)?

 

John

    John Souvestre - New Orleans LA

-- 
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