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

网站 免备案网络有限公司经营范围

网站 免备案,网络有限公司经营范围,软文范例100例,外贸公司 如何做公司网站假设有两个线程 T1 和 T2,它们需要对两个互斥量 mtx1 和 mtx2 进行访问,而且需要按照以下顺序获取互斥量的所有权: - T1 先获取 mtx1 的所有权,再获取 mtx2 的所有权。 - T2 先获取 mtx2 的所有权,再获取 mtx1 的所有…

假设有两个线程 T1 和 T2,它们需要对两个互斥量 mtx1 和 mtx2 进行访问,而且需要按照以下顺序获取互斥量的所有权:

- T1 先获取 mtx1 的所有权,再获取 mtx2 的所有权。

- T2 先获取 mtx2 的所有权,再获取 mtx1 的所有权。

如果两个线程同时执行,就会出现死锁问题。因为 T1 获取了 mtx1 的所有权,但是无法获取 mtx2 的所有权,而 T2 获取了 mtx2 的所有权,但是无法获取 mtx1 的所有权,两个线程互相等待对方释放互斥量,导致死锁。

为了解决这个问题,可以让两个线程按照相同的顺序获取互斥量的所有权。例如,都先获取 mtx1 的所有权,再获取 mtx2 的所有权,或者都先获取 mtx2 的所有权,再获取 mtx1 的所有权。这样就可以避免死锁问题。

以下是按照第二种方案修改后的代码:

#include <iostream>
#include <thread>
#include <mutex>std::mutex mtx1, mtx2;void func1() {    mtx2.lock();    std::cout << "Thread 1 locked mutex 2" << std::endl;    mtx1.lock();    std::cout << "Thread 1 locked mutex 1" << std::endl;    mtx1.unlock();    std::cout << "Thread 1 unlocked mutex 1" << std::endl;    mtx2.unlock();    std::cout << "Thread 1 unlocked mutex 2" << std::endl;
}void func2() {    mtx2.lock();    std::cout << "Thread 2 locked mutex 2" << std::endl;    mtx1.lock();    std::cout << "Thread 2 locked mutex 1" << std::endl;    mtx1.unlock();    std::cout << "Thread 2 unlocked mutex 1" << std::endl;    mtx2.unlock();    std::cout << "Thread 2 unlocked mutex 2" << std::endl;
}int main() {    std::thread t1(func1);    std::thread t2(func2);    t1.join();   t2.join();   return 0;
}

在上面的代码中

T1 先获取 mtx2 的所有权,再获取 mtx1 的所有权,

而 T2 也是先获取 mtx2 的所有权,再获取 mtx1 的所有权,

这样就避免了死锁问题。

http://www.yayakq.cn/news/412980/

相关文章:

  • 购物网站开发设计网络技术网站
  • 论坛网站源码下载安徽手机版建站系统信息
  • 河北省网站备案重庆建工
  • 南昌做网站建站的百度一下首页网页手机版
  • 网站开发 小程序开发网站建设资讯站
  • 网站建设丶金手指下拉14北京网络技术有限公司
  • 珠海手机微信网站建设小程序开发贵州省住房和建设厅网网站
  • 辽宁企业网站建设公司简单的网站建立怎么做
  • 加强和改进网站建设建设方案wex5可以做网站吗
  • 加拿大服务器做网站wordpress+漂亮的博客
  • 怎么做淘宝客优惠劵网站申请域名要钱吗
  • 网站建设合同 保密条款iis5.1怎么新建网站
  • 河南网站备案小程序启动失败 错误码
  • 河南做网站需要多少钱龙岗网站建设公司怎么样
  • 微信网页宣传网站怎么做的网站建设 样板
  • 视频网站怎么做统计自学网站
  • 商城网站设计图国内cms排行
  • 深圳市做物流网站seo怎么做教程
  • 试剂网站建设成免费crm软件app
  • 医疗器械网石家庄seo管理
  • 网站建设的市场需求视频网站的防盗链是怎么做的
  • 天水市网站建设西安百度关键词包年
  • 做航模的网站办公室装修专业网站
  • 那个网站做图片好看的百度网站统计
  • 做兼职最好的网站软件技术一般在哪上班
  • 网站备案服务硬件开发工程师待遇
  • 做导购网站有哪些北京建设执业网站
  • 余姚微信网站建设建设银行深圳天健世纪支行网站
  • 东莞市手机网站建设wordpress 加载图片不显示图片
  • 手机电脑网站一站式网站开发阶段流程图