当前位置: 首页 > news >正文

做网站应该用什么配置的手提电脑企业信用信息年度报告公示

做网站应该用什么配置的手提电脑,企业信用信息年度报告公示,wordpress自适应手机主题,山西省住房和城乡建设厅官方网站文章目录 1.创建 std::unique_lock 对象2.自动加锁和解锁3.延迟加锁与手动加解锁4.尝试加锁5.配合条件变量使用6.小结参考文献 std::unique_lock 是 C11 提供的一个用于管理互斥锁的类#xff0c;它提供了更灵活的锁管理功能#xff0c;适用于各种多线程场景。 1.创建 std::u… 文章目录 1.创建 std::unique_lock 对象2.自动加锁和解锁3.延迟加锁与手动加解锁4.尝试加锁5.配合条件变量使用6.小结参考文献 std::unique_lock 是 C11 提供的一个用于管理互斥锁的类它提供了更灵活的锁管理功能适用于各种多线程场景。 1.创建 std::unique_lock 对象 std::unique_lockstd::mutex lock(mutex); // 创建 std::unique_lock 并关联互斥锁 mutex你可以在构造函数中传入一个互斥锁std::mutex 或其它互斥锁类型来创建 std::unique_lock 对象并且会在构造时获取互斥锁的所有权。此时互斥锁被锁住其他线程无法获得锁。 2.自动加锁和解锁 {std::unique_lockstd::mutex lock(mutex); // 自动加锁// 临界区代码 } // 自动解锁使用 std::unique_lock 创建的对象当其生命周期结束时通常是在大括号的作用域结束时会自动解锁互斥锁以确保互斥锁在不再需要时被释放。 3.延迟加锁与手动加解锁 std::unique_lock 还支持在初始化时不立即加锁而是在需要时延迟加锁。这种特性对于一些多线程场景非常有用允许你在获得锁之前执行一些非临界区的操作从而减少锁的持有时间。 创建 std::unique_lock 对象时传入互斥锁但不加锁 std::unique_lockstd::mutex lock(mutex, std::defer_lock);在需要时手动加锁 lock.lock(); // 手动加锁 // 临界区代码 lock.unlock(); // 手动解锁你可以使用 lock() 手动加锁互斥锁然后在互斥锁保护的临界区内执行代码最后使用 unlock() 手动解锁互斥锁。这种方式可以让你更灵活地控制锁的生命周期。 4.尝试加锁 std::unique_lock 还提供了 try_lock() 方法用于尝试加锁如果锁不可用则返回 false如果锁成功获取则返回 true。 std::unique_lockstd::mutex lock(mutex, std::defer_lock); if (lock.try_lock()) {// 锁成功获取执行临界区代码lock.unlock(); } else {// 锁不可用执行其他逻辑 }5.配合条件变量使用 condition_variable条件变量是 C11 中提供的一种多线程同步机制它允许一个或多个线程等待另一个线程发出的通知以便能够有效地进行线程同步。 条件变量std::condition_variable需要与 std::unique_lock 一起使用以实现线程的等待和通知机制。 std::unique_lockstd::mutex lck(mutex); while (!condition) {conditionVariable.wait(lock); // 等待条件满足并释放锁 } // 条件满足重新获取锁并继续执行条件变量的成员函数 wait() 会在阻塞线程的那一刻当线程被添加到等待队列中时函数会自动调用 lck.unlock() 释放锁允许其他锁定的线程继续执行。 一旦收到唤醒通知由其他线程调用 notify_one() 或 notify_all() 通知该函数就会解除阻塞并调用 lck.lock()使 lck 处于与调用该函数时相同的状态然后函数返回。请注意返回前调用 lck.lock() 加锁可能会再次阻塞线程。 为什么条件变量需要互斥锁的配合呢 因为 condition 和等待队列都是多线程的共享资源当访问这些共享资源时需要互斥访问。 6.小结 std::unique_lock 提供了对互斥锁更高级别的控制和灵活性使得多线程编程更加安全和容易。在多数情况下推荐使用 std::unique_lock 而不是直接操作互斥锁因为它能够自动管理锁的生命周期减少了出错的机会。 参考文献 std::unique_lock - cplusplus.com std::condition_variable - cplusplus.com
http://www.zqtcl.cn/news/167186/

相关文章:

  • 网上下载的网站模板怎么用wordpress 注册密码
  • 网站建设免费国外撤销网站备案申请书
  • 佛山做网站那家好网站建设公司如何盈利
  • 傻瓜建网站设计感网站
  • 北京网站优化软件陕西省建筑信息平台
  • 广州越秀建网站济南房产网新开楼盘
  • 线上咨询预约网站建设方案保定外贸网站制作
  • 网站流量如何增加提高工作效率的措施
  • 龙湖镇华南城网站建设.net 网站开发书籍
  • 域名费用和网站服务器费用是同样的吗推广营销方案
  • 安徽网站设计方案中文外贸网站有哪些
  • 衡阳手机网站设计响应式网站做多大的尺寸
  • 海尔电子商务网站建设预算灵台县门户网
  • 四川网站建设设计公司排名开发公司与建筑公司合作协议
  • 江西智能网站建设嘉定注册公司
  • 海口网站建设联系方式十大免费软文推广平台
  • 石碣镇做网站帮别人做网站开价
  • 站长 网站ip客户都不愿意做网站
  • 网站开发和软件开发哪个难网站备案账号
  • 2昌平区网站建设安徽盛绿建设网站
  • 商务网站建设目的天津建设网站需要的费用
  • flash 网站头部wordpress支持大文件上传
  • 网站开发方式的选择凡客设计
  • 常德建设网站如何查询某个网站的设计公司
  • wordpress 仿站教程学校ui设计培训
  • 南昌模板建站定制网站合肥瑶海区网站建设价格
  • 奥尔马手表官方网站导出wordpress文章
  • 网站栏目内容和功能手机网站建设 如何获得更好的排名
  • 网站运营推广难做常德网警
  • 北滘网站建设公司在百度上做网站怎么做