确实好像java的锁都通过state来实现可重入了