
9 Sep
2005
9 Sep
'05
11:57 a.m.
If priority policy is the overriding issue, I recommend considering Alexander Terekhov's algorithm summarized here:
Interesting, clearly using interlocked operations where possible is a real win, and would certainly be easy to implement on Win32. Unfortunately, I don't believe the algorithm you provide is compatible with the current interface, which promises to let the user choose how to schedule interleaves between readers and writers. On the other hand, it is that interface which is part of the problem: it introduces too much complexity, and too many code-paths through which locking could occur to be able to analyse the code easily. So maybe we should dump the current interface. John.