CTM gives an implementation for, and examples using, "active objects"
which act like regular objects, but sit in their own thread and
process messages one at a time, in order received.

After reading the next chapter about locks, it seems to me that an
active object is essentially an object in which all methods are under
the same lock.  For an alternative implementation of an active object,
you create a kind of object that wraps the whole message passing under
one lock, and executes each message in its own thread.  Since
everything is under the same lock, messages will happen sequentially,
and thus you have similar (the same?) behavior as an asynchronous
active object.

Is my reasoning correct?  Is message-passing concurrency essentially
an extreme version of "atomic action" concurrency in which the whole
object is under one lock?  Are there any sigificant differences?

Thanks,

Mark

_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to