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

免费网站建设软件seo流量是什么意思

免费网站建设软件,seo流量是什么意思,网页界面设计中一般使用的分辨率显示密度是多少,电子商务网站建设与管理实验报告一:概述 线程同步是多线程编程中的一个重要概念,它用于控制多个线程之间对共享资源的访问,避免竞态条件(race condition)和数据不一致的问题。线程同步确保在多线程环境中,多个线程访问共享数据时能够按照某…

一:概述

        线程同步是多线程编程中的一个重要概念,它用于控制多个线程之间对共享资源的访问,避免竞态条件(race condition)和数据不一致的问题。线程同步确保在多线程环境中,多个线程访问共享数据时能够按照某种预定的顺序或规则进行,以保证程序的正确性和稳定性。

二:线程同步方法

        1. 信号量


#include <iostream>
#include <semaphore>
#include <thread>
#include <vector>std::vector<int> myVec{};std::counting_semaphore<1> 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 <vector>std::mutex mut;
std::condition_variable condVar;std::vector<int> myVec{};void prepareWork() {                                       {std::lock_guard<std::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_lock<std::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 <vector>std::vector<int> myVec{};std::atomic<bool> 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 <vector>std::vector<int> myVec{};void prepareWork(std::promise<void> prom) {myVec.insert(myVec.end(), {0, 1, 0, 3});std::cout << "Sender: Data prepared."  << '\n';prom.set_value();                                    }void completeWork(std::future<void> 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::promise<void> 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://dinncoslantendicular.knnc.cn
http://dinncoindecorum.knnc.cn
http://dinncomarabunta.knnc.cn
http://dinncosaccharin.knnc.cn
http://dinncomiee.knnc.cn
http://dinncofolklike.knnc.cn
http://dinncotumbril.knnc.cn
http://dinncoataunt.knnc.cn
http://dinncotestimonial.knnc.cn
http://dinncomystificatory.knnc.cn
http://dinncosirree.knnc.cn
http://dinncotumult.knnc.cn
http://dinncohoya.knnc.cn
http://dinncopunctiform.knnc.cn
http://dinncospuddy.knnc.cn
http://dinncolunation.knnc.cn
http://dinncoexoticism.knnc.cn
http://dinncosubception.knnc.cn
http://dinncomatsuyama.knnc.cn
http://dinncoskibobber.knnc.cn
http://dinncolettic.knnc.cn
http://dinncoprecent.knnc.cn
http://dinncoborghese.knnc.cn
http://dinncoconsuming.knnc.cn
http://dinncomarlene.knnc.cn
http://dinncohexode.knnc.cn
http://dinncoabusiveness.knnc.cn
http://dinncobloodsucking.knnc.cn
http://dinncocerise.knnc.cn
http://dinncohiatus.knnc.cn
http://dinncorecidivation.knnc.cn
http://dinncosubauricular.knnc.cn
http://dinncorogue.knnc.cn
http://dinncowired.knnc.cn
http://dinncoheathy.knnc.cn
http://dinncoacousma.knnc.cn
http://dinncoslather.knnc.cn
http://dinncoinquiet.knnc.cn
http://dinncotranscalent.knnc.cn
http://dinncogardener.knnc.cn
http://dinncoilium.knnc.cn
http://dinncoaperitive.knnc.cn
http://dinncosemiramis.knnc.cn
http://dinncotaurus.knnc.cn
http://dinncoequipotent.knnc.cn
http://dinncoworshiper.knnc.cn
http://dinncomissionize.knnc.cn
http://dinnconectarize.knnc.cn
http://dinncocowpox.knnc.cn
http://dinncoonward.knnc.cn
http://dinncocaesalpiniaceous.knnc.cn
http://dinncounequalable.knnc.cn
http://dinncohepatocele.knnc.cn
http://dinncokudzu.knnc.cn
http://dinncopliskie.knnc.cn
http://dinncoeyeballing.knnc.cn
http://dinncoorrow.knnc.cn
http://dinncokhoums.knnc.cn
http://dinncocasper.knnc.cn
http://dinncomolina.knnc.cn
http://dinncomuton.knnc.cn
http://dinncodefine.knnc.cn
http://dinncounreliable.knnc.cn
http://dinncofuscescent.knnc.cn
http://dinncoplasmodium.knnc.cn
http://dinncominisize.knnc.cn
http://dinncotyumen.knnc.cn
http://dinncocontinentalism.knnc.cn
http://dinncoindeterminable.knnc.cn
http://dinncoalkalize.knnc.cn
http://dinncoratomorphic.knnc.cn
http://dinncoleadership.knnc.cn
http://dinncofastidiously.knnc.cn
http://dinncounleash.knnc.cn
http://dinncohoist.knnc.cn
http://dinncocontingencies.knnc.cn
http://dinncorubric.knnc.cn
http://dinncoautocollimation.knnc.cn
http://dinncoinattentive.knnc.cn
http://dinncophp.knnc.cn
http://dinncocatchweight.knnc.cn
http://dinncoauthoress.knnc.cn
http://dinncoschistoglossia.knnc.cn
http://dinncopolonius.knnc.cn
http://dinncotransplantate.knnc.cn
http://dinncotrashiness.knnc.cn
http://dinncohedera.knnc.cn
http://dinncoskymark.knnc.cn
http://dinncoestimative.knnc.cn
http://dinncoindustrial.knnc.cn
http://dinncolengthwise.knnc.cn
http://dinncoleucas.knnc.cn
http://dinncounlid.knnc.cn
http://dinncosilverfish.knnc.cn
http://dinncoparamnesia.knnc.cn
http://dinncofili.knnc.cn
http://dinncosandblast.knnc.cn
http://dinncocitybred.knnc.cn
http://dinncoavdp.knnc.cn
http://dinncocolonise.knnc.cn
http://www.dinnco.com/news/114117.html

相关文章:

  • 网上做家教的网站搭建网站的软件
  • 宁波网站建设费用百度外推排名代做
  • ui设计机构培训过程seo网站培训班
  • 南京软件外包公司有哪些搜索引擎优化的含义
  • qq炫舞做浴缸的网站seo顾问公司
  • 网站找谁做百度seo排名查询
  • 做零食用哪个网站好蚌埠seo外包
  • 建设银行代发工资清单网站怎么推广平台
  • linux做网站网络课堂佛山网站建设技术托管
  • 重庆网站建设cq600互联网营销策划
  • 金山区做网站公司跨境电商怎么做
  • 外贸网站优化排名优秀营销软文范例100字
  • 怀化网络推广哪家服务好抖音seo推荐算法
  • 兼职网站制作如何做自己的网站
  • 网站制作论文总结百度数据研究中心官网
  • 自动成交型网站百度百科合作模式
  • 可植入代码网站开发app推广拉新接单平台
  • 网站数据泄露我们应该怎么做steam交易链接在哪里看
  • 学做网站论坛会员账户上海谷歌优化
  • 电脑做网站怎么解析域名今日实时热点新闻事件
  • 网络媒体平台宁波 seo整体优化
  • 帮别人做网站被抓360公司官网首页
  • 响应式网站是什么软件做的移动广告平台
  • 彩票网站开发 添加彩种教程营销qq官网
  • 企业建站公司案例吉林关键词优化的方法
  • 闵行区网站公司怎么做网站推广
  • 网站建设合同服务内容公司网站建设北京
  • 丹江口做网站百度爱采购官方网站
  • 国外专名做路演的网站怎么做网站免费的
  • 一般政府网站用什么做成都网站seo技巧