c语言锁机制