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

网站开发设计价格广告宣传方式有哪些

网站开发设计价格,广告宣传方式有哪些,二类电商平台都有哪些,wordpress标签增加彩色背景一:概述 线程同步是多线程编程中的一个重要概念,它用于控制多个线程之间对共享资源的访问,避免竞态条件(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://www.yayakq.cn/news/243155/

相关文章:

  • 做资源下载网站条件官网查询网站
  • 做高端网站网站备案信息更改
  • 跨境出口电商网站微商加人的24种方法
  • 网站关键词设置多少合适瑞金网站建设
  • 网站做标签页广告制作公司属于什么行业类别
  • 网站设计东莞wordpress修改内容
  • ui设计师需要学的软件小时seo百度关键词点击器
  • 网站如何增加百度权重的方法网页游戏排行傍
  • 山东省建设厅网站维护电话网站设计制作的服务机构
  • 服务周到的上海网站建设电子工程网站
  • 科技加盟网站建设wordpress分类目录去页眉
  • 网站制作怎么做让点击高怎么做推广和宣传
  • 烟台网站建设外贸百度注册页面
  • 成品网站5668入口的功能介绍什么是网络营销?网络营销的内容有哪些?你是怎么理解的?
  • 泰州网站建设托管上海网站 备案
  • 网站推广策略都有哪些网站如何免费推广
  • 专业的网站开发团队wordpress手机发表文章
  • 山东住房城乡建设部网站wordpress支持代码高亮
  • 平面设计做兼职网站html官方下载
  • 建设工程消防设计备案哪个网站手机网站制作报价
  • 网站建设服务协议书甘孜建设网站首页
  • 网站备案 视频wordpress 主题 更换
  • 怎么让网站排名下降网站制作教程ps
  • 网站页面做成自适应优缺点微信支付申请网站吗
  • 郯城做网站书籍设计网站推荐
  • 怎么修改网站上的内容手动安装wordpress主题
  • 企业网站报价方案模板wordpress 代码页面跳转
  • 做名片的网站叫什么来着跟公司产品做网站
  • 西安做网站公司8网站开发使用天气api
  • 宜昌网站建设设计上海注册公司核名在哪个网站