Calling an active object’s destructor blocks the caller:
•Till object’s execution ends. Only case
of blocking w/o “wait.”
•Join points are typically at block
exits. Supports ganging.
• {
active C c;
…
} // waits for c to complete
•Can directly express tasks/process
hierarchies (tasks that own other tasks) by associating member lifetimes.
• active class C {
active M m; //
embedded member
…
};
• // later
{
active C c;
…
} // waits for c & c.m to complete