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