资讯
封装 pthread_mutex_t,在构造函数中调用 pthread_mutex_init,在析构函数中调用 pthread_mutex_destroy。这时候如果发生拷贝,默认的拷贝构造函数会复制句柄的值,导致两个对象持有同一个互斥锁,析构时两次调用 destroy,这是未定义行为。因此,需要遵循三法则,定义 ...
等待所有线程结束 maint.join(); for (auto& t : users) { t.join(); } return 0; } 总结 mutex:最基础的锁,需要手动锁定和解锁,用不好容易出问题,就像自己管理卫生间门锁。 lock_guard:简单安全的自动锁,构造时锁定,析构时解锁,但不能中途操作锁状态,就像请了个死板 ...
一些您可能无法访问的结果已被隐去。
显示无法访问的结果