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

适合翻译做兼职的网站如何做网页链接

适合翻译做兼职的网站,如何做网页链接,电商网站的建设步骤,美国网站建设公司在做一些比较大的项目的时候,需要实现线程同步, 这里结合一个小示例,进行线程同步的讲解 问题定义 以下是一个使用 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.dt0577.cn/news/56329.html

相关文章:

  • 定机票最便宜网站建设友情连接出售
  • o2o网站建设报价网页制作与网站建设实战教程
  • 制作网页与网站百度帐号注册
  • 企业云服务seo自己怎么做
  • 那些网站做任务领q币杭州seo优化公司
  • 手机网站制作服务开封网站设计
  • 虎门外贸网站建设手机一键优化
  • 网站制作价windows优化大师怎么使用
  • 戴尔网站建设和维护石家庄网站建设公司
  • 天津建设交通委网站游戏代理0加盟费
  • 湘潭网站建设 技精磐石网络输入关键词自动生成标题
  • 网站302怎么做怎么免费注册域名
  • 建英语网站好seo软件排行榜前十名
  • 多页网站制作百度指数电脑端查询
  • 网站迁移到别的服务器要怎么做站长之家关键词挖掘工具
  • wordpress博客站模板抓关键词的方法10条
  • 做网站百度新闻源长沙关键词快速排名
  • 网站报价功能清单网站怎么开发
  • 微信个人商城网站模板免费下载长沙网站搭建优化
  • 企业网站建设的劣势媒体公关公司
  • 陕西电商b2c网站建设公司营销的方法和技巧
  • 电脑更新wordpressseo排名优化联系13火星软件
  • 广州做网站建设哪家专业北京官网优化公司
  • 东莞凤岗网站建设百度指数如何分析
  • 个人网页设计欣赏作品网站seo搜索引擎的原理是什么
  • 企业网站建设服务商站长工具查询网站
  • 哪个网站可以做教师招聘题目人民日报今日新闻
  • 饿了吗外卖网站怎么做友情链接互换
  • 榆林网站开发软文平台有哪些
  • 各国网站的域名流程优化的七个步骤