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

安阳做一个网站多少钱河南省级住房城乡建设主管部门网站

安阳做一个网站多少钱,河南省级住房城乡建设主管部门网站,济南小程序开发,广告设计公司英文介绍一#xff1a;概述 线程同步是多线程编程中的一个重要概念#xff0c;它用于控制多个线程之间对共享资源的访问#xff0c;避免竞态条件#xff08;race condition#xff09;和数据不一致的问题。线程同步确保在多线程环境中#xff0c;多个线程访问共享数据时能够按照某…一概述 线程同步是多线程编程中的一个重要概念它用于控制多个线程之间对共享资源的访问避免竞态条件race condition和数据不一致的问题。线程同步确保在多线程环境中多个线程访问共享数据时能够按照某种预定的顺序或规则进行以保证程序的正确性和稳定性。 二线程同步方法 1. 信号量 #include iostream #include semaphore #include thread #include vectorstd::vectorint myVec{};std::counting_semaphore1 prepareSignal(0);void prepareWork() {myVec.insert(myVec.end(), {0, 1, 0, 3});std::cout Sender: Data prepared. \n;prepareSignal.release(); }void completeWork() {std::cout Waiter: Waiting for data. \n;prepareSignal.acquire();myVec[2] 2;std::cout Waiter: Complete the work. \n;for (auto i: myVec) std::cout i ;std::cout \n;}int main() {std::cout \n;std::thread t1(prepareWork);std::thread t2(completeWork);t1.join();t2.join();std::cout \n;} 2. 条件变量 #include iostream #include condition_variable #include mutex #include thread #include vectorstd::mutex mut; std::condition_variable condVar;std::vectorint myVec{};void prepareWork() { {std::lock_guardstd::mutex lck(mut);myVec.insert(myVec.end(), {0, 1, 0, 3}); }std::cout Sender: Data prepared. \n;condVar.notify_one(); }void completeWork() { std::cout Waiter: Waiting for data. \n;std::unique_lockstd::mutex lck(mut);condVar.wait(lck, [] { return not myVec.empty(); });myVec[2] 2; std::cout Waiter: Complete the work. \n;for (auto i: myVec) std::cout i ;std::cout \n;}int main() {std::cout \n;std::thread t1(prepareWork);std::thread t2(completeWork);t1.join();t2.join();std::cout \n;} 3. Atomic #include atomic #include iostream #include thread #include vectorstd::vectorint myVec{};std::atomicbool atomicBool{false};void prepareWork() {myVec.insert(myVec.end(), {0, 1, 0, 3});std::cout Sender: Data prepared. \n;atomicBool.store(true);atomicBool.notify_one();}void completeWork() {std::cout Waiter: Waiting for data. \n;atomicBool.wait(false); myVec[2] 2;std::cout Waiter: Complete the work. \n;for (auto i: myVec) std::cout i ;std::cout \n;}int main() {std::cout \n;std::thread t1(prepareWork);std::thread t2(completeWork);t1.join();t2.join();std::cout \n;} 4. Promise - Feature  #include iostream #include future #include thread #include vectorstd::vectorint myVec{};void prepareWork(std::promisevoid prom) {myVec.insert(myVec.end(), {0, 1, 0, 3});std::cout Sender: Data prepared. \n;prom.set_value(); }void completeWork(std::futurevoid fut){std::cout Waiter: Waiting for data. \n;fut.wait(); myVec[2] 2;std::cout Waiter: Complete the work. \n;for (auto i: myVec) std::cout i ;std::cout \n;}int main() {std::cout \n;std::promisevoid sendNotification;auto waitForNotification sendNotification.get_future();std::thread t1(prepareWork, std::move(sendNotification));std::thread t2(completeWork, std::move(waitForNotification));t1.join();t2.join();std::cout \n;}
http://www.w-s-a.com/news/741300/

相关文章:

  • 重庆网站设计公司价格贵阳网站建设app开发
  • dw做网站怎么换图片编写网页所用的语言是
  • 外贸网站收录工具个人网站的备案
  • 正规的网站建设工作室海外高延迟服务器做网站
  • 网站设计确认函合肥做网站维护的公司
  • 小说网站推荐网站开发语言怎么查
  • 网页制作基础教程慕课版电子版那种登录才能查看的网站怎么做优化
  • 制作网站用的域名网站域名注册信息查询
  • 公司域名查询官方网站女教师遭网课入侵直播录屏曝
  • 网站开发社交网络功能的作用腾讯公司网站
  • 网站建设需要微信账号和密码网站建设工作汇报
  • 国家城乡住房和建设部网站西安私人网站
  • 天津高端网站定制seo实战教程
  • 网站文章怎么做才能被快速收录网站备案核验系统
  • 子网站建设方案l建设银行网站
  • 免费看舆情网站网站备案用户名忘了怎么办
  • 地方门户网站的分类网站的方案
  • 沧州哪里做网站网站的建设是什么
  • 设计公司海报秦皇岛seo网站推广
  • 网站导航规划wordpress做漫画
  • jsp体育用品网站建设wordpress 10万篇文章
  • 沈阳做微信和网站的公司网站在线支付接口
  • 重庆整合网络营销百度seo快速提升排名
  • 设计师网站外网百度分析工具
  • 旅游网站建设技术解决方案wordpress主题安装后找不到
  • 网站图片文字排版错误管理系统界面设计
  • 网站建设 台州广州惠科互联网技术有限公司
  • 网站页面尺寸大小四川鸿业建设集团网站
  • 做女朋友的网站局网站建设方案word
  • 做阿里国际网站会有成效吗科技网站有哪些