增加锁，以及其他相关函数