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
