Yes I agree, I've not had a single deadlock in a classic sense since using
message queues. But this statement is like saying I've hand not  a car
accident since I've been riding a bike. You can still lock up your code but
it will not be a classic deadlock. I guess you could incorrectly code
something with message queues and have it lock up occasionally.


On Mon, Apr 8, 2013 at 9:32 AM, Pieter Hintjens <[email protected]> wrote:

> On Mon, Apr 8, 2013 at 6:26 PM, Michael Powell <[email protected]>
> wrote:
>
> > If I understand it correctly, the thing that is blocked is the Context,
> > which needs to be protected. There's no getting around this brutal fact.
>
> Except the context provides atomic resources. There's no way to
> deadlock two tasks via the context.
>
> I can make a deadlockable design but it's extremely artificial. Two
> threads, each waiting on a specific message only the other can
> produce. It hardly qualifies as a deadlock. I can get the same with a
> single task that just sleeps forever...
>
> I'll make this claim: the classic deadlock is impossible when you use
> message-based tasks that don't share any state.
>
> -Pieter
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to