线程间共享内存中条件变量和锁有什么区别呀?