A read/write lock that allows for recurring read/write locks on the writer thread, or recurring read locks on all reader threads.