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

做翻译赚钱的网站汕头网站优化

做翻译赚钱的网站,汕头网站优化,php黄页系统,jquery 网站模板在做一些比较大的项目的时候,需要实现线程同步, 这里结合一个小示例,进行线程同步的讲解 问题定义 以下是一个使用 C 多线程和条件变量的示例,展示了线程 A 接收一个 enable 信号并通知线程 B 开始工作。线程 B 在开始工作之前…

在做一些比较大的项目的时候,需要实现线程同步, 这里结合一个小示例,进行线程同步的讲解

问题定义

以下是一个使用 C++ 多线程和条件变量的示例,展示了线程 A 接收一个 enable 信号并通知线程 B 开始工作。线程 B 在开始工作之前将 enable 信号设置为 false,然后执行其任务。

#include <iostream>
#include <thread>
#include <mutex>
#include <condition_variable>
#include <atomic>// 共享数据
std::atomic<bool> enable(false);
std::mutex mtx;
std::condition_variable cv;void threadA() {// 模拟接收 enable 信号std::this_thread::sleep_for(std::chrono::seconds(1));{std::lock_guard<std::mutex> lock(mtx);enable = true;}std::cout << "Thread A: enable signal received. Notifying thread B." << std::endl;cv.notify_one(); // 通知线程 B
}void threadB() {std::unique_lock<std::mutex> lock(mtx);// 等待 enable 信号cv.wait(lock, [] { return enable.load(); });std::cout << "Thread B: Received notification. Setting enable to false." << std::endl;enable = false; // 将 enable 信号设置为 false// 进行工作std::cout << "Thread B: Working..." << std::endl;std::this_thread::sleep_for(std::chrono::seconds(2)); // 模拟工作std::cout << "Thread B: Work done." << std::endl;
}int main() {std::thread tA(threadA);std::thread tB(threadB);tA.join();tB.join();return 0;
}

代码说明

  1. 共享数据
    • enable:使用 std::atomic<bool> 进行原子操作,确保线程安全。
    • mtx:互斥锁,用于保护共享数据。
    • cv:条件变量,用于线程之间的同步。
  2. **threadA**** 函数**:
    • 模拟接收 enable 信号。
    • 设置 enabletrue,表示信号已接收。
    • 通知线程 B。
  3. **threadB**** 函数**:
    • 等待 enable 信号。条件变量 cv.wait 保证线程在 enabletrue 之前不会继续执行。
    • 在接收到通知后,将 enable 设置为 false
    • 执行其任务。
  4. **main**** 函数**:
    • 创建并启动线程 A 和线程 B。
    • 等待线程 A 和线程 B 完成。

这个示例展示了如何使用条件变量和原子变量进行线程间的同步和数据共享。

http://www.zhongyajixie.com/news/63044.html

相关文章:

  • 网站建设外包兼职html网页制作
  • 连云港网站建设案例软件开发app制作公司
  • 与市场营销有关的网站宁波seo教程
  • 做外贸如何浏览国外网站个人网站免费域名和服务器
  • 四秒网站建设神马搜索推广
  • 男人和女人做性网站深圳市企业网站seo营销工具
  • 黄石网站设计制作公司百度投诉中心电话24个小时
  • 如何做服装的微商城网站建设搜索引擎seo优化怎么做
  • 山西省网站域名备案得多长时间中国搜索引擎有哪些
  • 湖州建设局招投标网站南京seo优化公司
  • 网站开发实训报告总结网站设计的流程
  • 厦门网站建设的公司如何在百度推广自己的产品
  • 四位一体网站开发百度手机助手官网下载
  • 微信官方网站首页一站式网站设计
  • 国外购物网站平台有哪些百度推广投诉电话
  • 沈阳正规制作网站公司吗视频号的链接在哪
  • 网站网页建设搜索引擎优化的基本原理
  • 网站app公众号先做哪个比较好cba目前排行
  • 开公司做购物网站是不是想多了最新新闻播报
  • 个人站长网站重庆seo和网络推广
  • 3322怎么做网站新闻头条最新消息30字
  • 一级消防工程师考试题库2000题谷歌seo网站推广
  • 广东建设工程备案网站网站建设需要多少钱
  • 医院网站建设医生需要做什么模板建网站价格
  • 网站站点结构的构建武汉百度开户电话
  • 怎么免费从网站上做宣传企业策划方案怎么做
  • 西安网站建设高端百度一下你就知道移动官网
  • 在线一键扒站源码php淘宝关键词排名查询工具免费
  • 上海网站建设建站seo五大经验分享
  • 北苑网站建设公司网络营销软件商城