acquire
release
wait:将当前线程处于等待状态并且释放锁,可以被其他线程使用notify和notify_all函数唤醒,会继续等待上锁,上锁后继续执行代码。
notify:通知正在等待的线程,默认时第一个等待的线程
notify_all:通知所有正在等待的线程,notify和notify_all不会释放锁,并且在release之前调用
这两个函数只会去通知,但不会释放锁,释放还是需要我们使用release进行释放
6.1Lock版本的生产者和消费者
6.2Condition版本的生产者和消费者
wait