On 25/12/2013 19:40, Tony Arcieri wrote:
>On Dec 25, 2013, at 12:08 PM, james<ja...@mansionfamily.plus.com>  wrote:
>Really?  It just decides to start messaging for no reason and blows up, after 
no external stimulus?  Not even a timer?
Well, if that's what you meant, then your point is valid but a bit
silly, because useful systems will generally have non-message events

--
Tony Arcieri
Well, I thought that was the point I was making, along with a suggestion that you can normally estimate the messaging load that will result from them. Of course an event that is 'runAllRisksOnAllDeals' suffers a combinatorial behaviour, but if you just instantiate every task immediately with no bounds on the concurrent load, you are asking for trouble whether it manifests as a livelock or resource exhaustion.

Personally I think that if you must have bounded queues then at least:
 - allow rather large bounds
 - allow inspection of 'indicative' size
 - allow multi-item put and get (and ideally peak)

Having very small bounds will just cause thread switching and everything will be slow - the alternative would seem to be that a shared data structure gets used and the channel is used for 'wakeup' signalling only. Its quite usable but to me it
looks like the provided facility was inadequate.

_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to