Duane Searsmith wrote:
Thank you Ken and Attila for your feedback. I think I have a fair
understanding of the issues now. I'm going to do some brainstorming
over exactly how I would like the threads to interact with the Cells
engine and then try some experiments with different locking strategies
and see what happens.
I'll report back on what I discover.
OK, don't be afraid to ask. And don't forget about lazy cells. :) If you
use those, that creates other issues. I don't much.
One thing that might help (or hurt) is that in Cells3 I started forcing
the programmer to single-thread model perturbations:
(with-integrity (:change ...) (setf <some-cell> ...)
....and there are multiple queues for follow-up work and propagation
arising from any change, including a "client" queue for application
work, and one can specify either or both a client queue sort function
and client queue handler. So there might be some place to wire in a
little thread awareness and let things keep moving despite activity by
other threads. And with all that information around, there may also be a
way for the programmer to indicate they are taking responsibility for
data integrity so Just Let Me Do This. ie, They may know X is against
the rules but X is quite safe so Just Do It.
kt
_______________________________________________
cells-devel site list
[email protected]
http://common-lisp.net/mailman/listinfo/cells-devel