This is an interview question. How do you implement a read/write mutex? There will be multiple threads reading and writing to a resource. I’m not sure how to go about it. If there’s any information needed, please let me know.
Update: I’m not sure if my statement above is valid/understandable. But what I really want to know is how do you implement multiple read and multiple writes on a single object in terms of mutex and other synchronization objects needed?
Check out Dekker’s algorithm.
Note that Dekker’s algorithm uses a spinlock (not a busy waiting) technique.
(Th. J. Dekker’s solution, mentioned by E. W. Dijkstra in his EWD1303 paper)