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

网站的优化和推广方案网页版whatsapp怎么下载

网站的优化和推广方案,网页版whatsapp怎么下载,网时代教育培训机构官网,自己怎么做机构网站一、简介 读写锁#xff08;Read-Write Lock#xff09;是一种并发控制机制#xff0c;用于多线程环境中实现对共享资源的高效读写操作。读写锁允许多个线程同时读取共享资源#xff0c;但在有写操作时#xff0c;需要互斥地独占对共享资源的访问#xff0c;以确保数据的…一、简介 读写锁Read-Write Lock是一种并发控制机制用于多线程环境中实现对共享资源的高效读写操作。读写锁允许多个线程同时读取共享资源但在有写操作时需要互斥地独占对共享资源的访问以确保数据的一致性。 二、shared_mutex std::shared_mutex 是 C17 引入的用于实现共享/独占访问控制以下是简单示例 #include iostream #include thread #include shared_mutexstd::shared_mutex rwLock; int sharedData 0; // 共享资源void readerFunction(int id) {while (true) {rwLock.lock_shared();std::cout Reader id reads sharedData: sharedData std::endl;rwLock.unlock_shared();// 模拟一些耗时操作std::this_thread::sleep_for(std::chrono::milliseconds(500));} }void writerFunction(int id) {while (true) {rwLock.lock();sharedData;std::cout Writer id writes sharedData: sharedData std::endl;rwLock.unlock();// 模拟一些耗时操作std::this_thread::sleep_for(std::chrono::milliseconds(1000));} }int main() {const int numReaders 3;const int numWriters 3;std::thread readers[numReaders];std::thread writers[numWriters];// 启动线程for (int i 0; i numReaders; i) {readers[i] std::thread(readerFunction, i);}for (int i 0; i numWriters; i) {writers[i] std::thread(writerFunction, i);}// Join线程for (int i 0; i numReaders; i) {readers[i].join();}for (int i 0; i numWriters; i) {writers[i].join();}return 0; }三、自定义 ReadWriteLock C17前可以通过 mutex 和 condition_variable 实现一个自定义的读写锁。代码如下 #include mutex #include condition_variableclass ReadWriteLock { public:ReadWriteLock() : readersCount(0), writing(false) {}void lockRead() {std::unique_lockstd::mutex lock(mutex_);readCondition_.wait(lock, [this] { return !writing; });readersCount;}void unlockRead() {std::unique_lockstd::mutex lock(mutex_);readersCount--;if (readersCount 0) {writeCondition_.notify_one();}}void lockWrite() {std::unique_lockstd::mutex lock(mutex_);writeCondition_.wait(lock, [this] { return readersCount 0 !writing; });writing true;}void unlockWrite() {std::unique_lockstd::mutex lock(mutex_);writing false;readCondition_.notify_all();writeCondition_.notify_one();}private:std::mutex mutex_;std::condition_variable readCondition_;std::condition_variable writeCondition_;int readersCount;bool writing; };使用示例 #include iostream #include thread #include ReadWriteLock.hpp // 包含上面ReadWriteLock的头文件int sharedData 0; // 共享数据 ReadWriteLock rwLock;void readerFunction(int id) {while (true) {rwLock.lockRead();std::cout Reader id reads sharedData: sharedData std::endl;rwLock.unlockRead();// 模拟一些耗时操作std::this_thread::sleep_for(std::chrono::milliseconds(500));} }void writerFunction(int id) {while (true) {rwLock.lockWrite();sharedData;std::cout Writer id writes sharedData: sharedData std::endl;rwLock.unlockWrite();// 模拟一些耗时操作std::this_thread::sleep_for(std::chrono::milliseconds(1000));} }int main() {const int numReaders 3;const int numWriters 3;std::thread readers[numReaders];std::thread writers[numWriters];// 启动线程for (int i 0; i numReaders; i) {readers[i] std::thread(readerFunction, i);}for (int i 0; i numWriters; i) {writers[i] std::thread(writerFunction, i);}// Join线程for (int i 0; i numReaders; i) {readers[i].join();}for (int i 0; i numWriters; i) {writers[i].join();}return 0; }
http://www.hkea.cn/news/14421903/

相关文章:

  • 惠州做公司网站淘宝网站设计模板下载
  • 个人网站建设方案实施百度刷排名优化软件
  • 没有网站如何做adsense深圳福田专业网站改版
  • 网站发布流程网站栏目建设
  • 老鹰主机做的网站在哪个网站可以学做衣服
  • 天津建设银行网站首页棋牌源码之家
  • 无锡手机网站建设报价谷歌浏览器下载安装
  • 网站运营实训报告总结中山做网站联系电话
  • 网站设计开发建设公司中小企业管理课程培训
  • 建设厅网站预算员报名时间wordpress e
  • 杨浦专业做网站wordpress 文章显示全文
  • 北京城建设计院网站免费网站教程
  • 中文网站外链查询工具百度广告投放公司
  • 建设网站买的空间是服务器吗jquery 打开新网站
  • 哪个网站做图文素材多郑州网站建设培训
  • 外贸自己做网站梅州建站
  • 网站备案核验单怎么填wordpress 如何优化
  • 建设厅查询网站网站图片下载 代码
  • 网站建设平台 三合一柳州市建设中心网站首页
  • 温州做网站价格wordpress微信机器人高级版
  • 网站建设目标是什么意思长春网站制作诚推源晟
  • 广州网站建设(信科分公司)软件研发工程师
  • 手机网站字体大小自适应线上推广平台有哪些
  • 青岛 网站制作linux服务器怎么做网站
  • 最便宜的网站建设网站备案负责人幕布照
  • 云南省做网站开发的公司排名微网站建设方案
  • 怎么快速建立一个网站扬中网站推广报价
  • 电子商务网站设计物流方案业务外包
  • 做网站怎么不被找到怎样自己做网站卖钱
  • 学seo建网站南通市住房和建设局网站