Properly use rwl, only one thread can use upgradable read lock, so we don't want to be using that.