init reentrantReadWriteLock