From: Jody Hagins (jody-boost-011304_at_[hidden])
Date: 2004-02-16 21:18:55
On Tue, 17 Feb 2004 01:51:17 +0000 (UTC)
Matthew Vogt <mvogt_at_[hidden]> wrote:
> Do you know what classes of apps use the active object pattern? The
> example in the Douglas Schmidt paper doesn't really provide much
> explanation for why you might want active local objects.
I think it makes good sense in what ACE is mainly used for: network
based server applications. You can write your code inside an ACE_Task,
and then it can be used in a reactor-type single threaded app, or it can
be used with multiple threads, and for the most part, you can use the
> concerned with improving the code too much. It is a good feeling,
> though, to be typing in 'boost::' even more often than 'std::'... :)
> No, the fact is I can't grok how boost::function<> parses it
> arguments, and a working sketch was good enough for me. Now, if only
> I knew of a reason why I might want to actually *use* it...
I think it is beneficial for most tasks. However, like most paradigms,
you have to slightly skew your point of view to see how it really
applies. If you have experience doing multithreaded apps, or network
based servers, or "sysv-streams-type" stuff, or message passing
protocols, or task-based-components then you may be able to see that you
can create an active object, which contains a certain amount of
execution knowledge, and then that object can do its work, without
knowledge of any specific threading mechanisms. You simply communicate
via passing messages (e.g., through a message queue), and the active
object itself knows how to interpret and handle the requests.
Hmmm. Not very convincing is it ;->
-- Jody Hagins Let not the sands of time get in your lunch.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk