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

胶州网站建设dch100微信定制开发

胶州网站建设dch100,微信定制开发,iis创建网站,wordpress 分类过滤1、什么是互斥锁#xff1f; 互斥锁是#xff08;Mutex#xff09;是一种用于多线程编程的同步原语#xff0c;用于确保在多个线程访问共享资源时的互斥性。 在多线程环境中#xff0c;当多个线程同时访问共享资源时#xff0c;可能会导致数据的竞争和不一致问题。为了…1、什么是互斥锁 互斥锁是Mutex是一种用于多线程编程的同步原语用于确保在多个线程访问共享资源时的互斥性。 在多线程环境中当多个线程同时访问共享资源时可能会导致数据的竞争和不一致问题。为了避免这种问题需要确保在任何时候只有一个线程能够访问共享资源而其他线程需要等待直到资源可用。 互斥锁提供这样一种机制即在某个线程访问共享资源时它会有互斥锁其他线程需要等待互斥锁的释放才能访问共享资源。一旦线程完成对共享资源的访问它会释放互斥锁以便其他线程可以获取互斥锁并访问共享资源。 2、互斥锁的基本操作包括两个重要的步骤加锁和解锁 加锁Lock:当一个线程需要访问共享资源时它会尝试获取互斥锁。如果互斥锁当前没有被其他线程持有那么该线程就能够获取互斥锁继续执行访问共享资源的代码。如果互斥锁已经被其他线程持有那么该线程会进入堵塞状态等待互斥锁的释放。 解锁Unlock:当一个线程完成对共享资源的访问时它会释放互斥锁以便其他线程可以获取互斥锁并访问共享资源。 3、示例代码 main.cpp #include iostream #include thread #include mutexstd::mutex mtx; int sharedResource 0;void increment() {for (int i0; i5; i){std::lock_guardstd::mutex lock(mtx); // 使用 std::lock_guard 创建互斥锁的作用域确保每次只有一个线程可以访问 sharedResourcesharedResource;std::cout Increatmented, value: sharedResource std::endl;} // 在作用域结束时std::lock_guard 会自动释放互斥锁 }void decrement() {for (int i0; i 5; i){std::lock_guardstd::mutex lock(mtx);sharedResource--;std::cout Decremented, value: sharedResource std::endl;} }int main() {// 创建了两个线程 t1 和 t2std::thread t1(increment);std::thread t2(decrement);// 等待这两个线程的执行结束t1.join();t2.join();std::cout Final shared resource value: sharedResource std::endl;return 0; }CmakeList.txt cmake_minimum_required(VERSION 3.5)project(untitled2 LANGUAGES CXX)set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Threads REQUIRED) add_executable(untitled2 main.cpp)#include(GNUInstallDirs) #install(TARGETS untitled2 # LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} #)target_link_libraries(untitled2 Threads::Threads) 程序输出 23:12:22: Starting /home/lrj/build-untitled2-Desktop_Qt_5_15_2_GCC_64bit-Debug/untitled2... Increatmented, value: 1 Increatmented, value: 2 Increatmented, value: 3 Increatmented, value: 4 Increatmented, value: 5 Decremented, value: 4 Decremented, value: 3 Decremented, value: 2 Decremented, value: 1 Decremented, value: 0 Final shared resource value: 0 23:12:22: /home/lrj/build-untitled2-Desktop_Qt_5_15_2_GCC_64bit-Debug/untitled2 退出退出代码: 0 由输出信息可见increament对共享资源访问的时候decrement是堵塞的。
http://www.pierceye.com/news/81818/

相关文章:

  • 邯郸企业做网站方案福建网站制作
  • 免费的制作手机网站平台建站企业网站
  • 广州海珠做网站的公司wordpress 视频无广告
  • 网站建设与维护设计大作业龙岗区布吉街道防控措施
  • 郑州网站推广公司价格网页设计实训总结模板
  • 网站建设模板是什么意思拍卖网站开发多少钱
  • 58徐州网站建设贵阳建设企业网站
  • 网站快照不更新原因网站底部导航栏怎么做
  • 网页设计与网站建设报告书wordpress多条件筛选插件
  • 设计网站页面要注意什么电商网站建设分析
  • 做网站用jsp和html女装品牌排行榜前十名
  • 菜鸟怎么做网站微网站建设费用
  • 专题网站创意设计与实现哪些网站是用iframe
  • 做期货浏览哪些网站无货源电商平台有哪些
  • 张家港网站制作哪家好国外服务器公司有哪些
  • 合肥软件开发网站建设erp系统下载
  • 微小店网站建设比较好wordpress 获取插件目录下
  • 常州制作公司网站企业管理软件
  • 淘宝哪些做网站关键词排名的有用吗想要个网站
  • 网站建设试卷一般多少钱做一个网站
  • 泰安网网站建设做网站需要的电脑配置
  • 玩具网站建设方案网站建设学什么的
  • 百度做一个网站怎么做呢一般公司网址都怎么写
  • 学平面设计的网站友链购买有效果吗
  • 可信网站验证服务中心wordpress模板错位
  • iis网站服务器基本安全设置步骤淮南网络推广公司
  • 网站一屏的尺寸郑州企业自助建站
  • 丽水市网站建设雄安智能网站建设公司
  • 静态网站的短处厦门专门建设网站的公司
  • php网站上传漏洞赤水市白房建设局网站