reentrantlock main