ReadWriteMutex 
(http://www.d-programming-language.org/phobos/core_sync_rwmutex.html)
doesn't seem to play too well with the built-in monitor system. I've
been thinking about "safe" ways to use it, and the best I've come up
with is this:

shared class SomeData {
private:
ReadWriteMutex rwmutex;

...

public:
void readSomeData() {
synchronized(rwmutex.reader) {
...
}
}

void writeSomeData() {
synchronized(rwmutex.writer) {
...
}
}

}

This seems like it should work, but from TDPL, it doesn't really seem
to be what shared classes are meant for. Is there a better way to get
this sort of locking? Was ReadWriteMutex intended to be used
differently?

Reply via email to