摘要: 何时需要线程同步 线程完成前,需要等待另一个线程执行线程需要等待特定事件发生线程等待某个条件变为true 线程同步的方式 持续检查共享标记 void wait_for_flag() { std::unique_lock lock(m); while (!flag) { lock.unlock(); 阅读全文
posted @ 2021-12-19 18:39 龙虾天天 阅读(17) 评论(0) 推荐(0)
摘要: 通常我们使用锁保护线程间共享数据,这也是最基本的方式。 当访问共享数据前,使用互斥量将相关数据锁住,再当访问结束后,再将数据解锁。线程库需要保证,当一个线程使用特定互斥量锁住共享数据时,其他的线程想要访问锁住的数据,都必须等到之前那个线程对数据进行解锁后,才能进行访问。这就保证了所有线程能看到共享数 阅读全文
posted @ 2021-12-18 19:48 龙虾天天 阅读(26) 评论(0) 推荐(0)