[DGD] Another mudlib requirement
Steve Foley
zeppo1 at mindspring.com
Sat Feb 14 06:19:53 CET 2004
"Felix A. Croes" <felix at dworkin.nl> wrote:
> The latter will probably modify the object, and if it commits before
> any of the callout-adding threads, they will be cancelled because
> they accessed a version of the object's state which is now out of
> date.
How much discrimination will DGD be able to make in this regard? I can imagine
reading one member of an array (arr[0]) in one thread (thread A) while another
thread (thread B) modifies a different array member (arr[5]). If thread B
commits before thread A, will thread A be rescheduled as a consequence of thread
B? Assume thread A doesn't assign arr to a local or global, and doesn't pass it
as a parameter in a function call.
Could you expound upon how data gets flagged and what sorts of conditions
trigger a reschedule? I realize I'm asking a short question with a long and
complicated (well, to me anyway) answer, so maybe you could just point out a few
'gotchas' we need to be aware of?
I really hadn't come to grips with the crucial roll call_out will be playing
under DGD MP (though, it certainly does seem deceptively obvious in retrospect
since call_out is the only way to break up 1 thread into multiple shorter
threads), so now I'm pretty interested in the kinds of things I need to be on
the lookout for when designing a DGD MP ready lib. Thanks in advance.
_________________________________________________________________
List config page: http://list.imaginary.com/mailman/listinfo/dgd
More information about the DGD
mailing list