add rwspinlock
start scope
implemented wait