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

1115.交替打印FooBar

链接:1115. 交替打印 FooBar - 力扣(LeetCode)

题解:

class FooBar { private: int n; std::mutex _mutex; std::condition_variable _cond1; // 用于 foo 等待 std::condition_variable _cond2; // 用于 bar 等待 int _status; // 1 表示打印 foo, 2 表示打印 bar public: FooBar(int n) : n(n), _status(1) {} void foo(std::function<void()> printFoo) { for (int i = 0; i < n; i++) { std::unique_lock<std::mutex> guard(_mutex); _cond1.wait(guard, [this] { return _status == 1; }); // printFoo() outputs "foo". Do not change or remove this line. printFoo(); _status = 2; _cond2.notify_one(); } } void bar(std::function<void()> printBar) { for (int i = 0; i < n; i++) { std::unique_lock<std::mutex> guard(_mutex); _cond2.wait(guard, [this] { return _status == 2; }); // printBar() outputs "bar". Do not change or remove this line. printBar(); _status = 1; _cond1.notify_one(); } } };
http://www.jsqmd.com/news/1099702/

相关文章:

  • 【课程设计/毕业设计】基于 SpringBoot 的农业设备销售订单管理系统的设计与实现 基于 SpringBoot 的智慧农机综合服务管理系统【附源码、数据库、万字文档】
  • 修改很简单,但网上讲这点的文档不多,因此多记一笔。另外基于out_ptr会临时转移所有权这点来看,共享所有权模型的std::shared_ptr其实并不适合使用out_ptr,虽然标准没有禁止甚至还要
  • playwright-拖拽验证码
  • LeWorldModel:基于JEPA的轻量化世界模型实践指南
  • 为什么要将 RTF 转换为 PDF?
  • 告别泰拉瑞亚原版限制:tModLoader模组开发实战手册
  • Opencv延迟优化
  • 项目包含项目源码、项目文档、数据库脚本、软件工具等资料;
  • 欧姆龙NJ系列EtherCAT总线通信常用系统状态字
  • Agibot第15000台人形机器人下线,具身AI量产加速
  • 【课程设计/毕业设计】基于 SpringBoot 的电子化招投标数据统计分析系统的设计与实现 基于 SpringBoot 的中小型企业线上招标管理平台【附源码、数据库、万字文档】
  • 【GitHub】 fastText:当“快“成为核心竞争力——从源码拆解 Facebook 的 10 亿词级 NLP 利器
  • 新版通达信多空主力拉升1主图2副1选股指标套装工具
  • 破局生物医药研发:实验数据标准化管理平台如何重塑科研新范式
  • web9使用RESTful完整项目的用户增删改查的项目代码
  • 从厨房秤到智能称重:用STM32F103和HX711打造你的第一个物联网传感器节点
  • Jmeter性能测试与SQL优化——电影收藏清单小程序获取收藏列表
  • 从零构建企业级多智能体教育辅助系统
  • 别把RAG当架构:Ontology(本体)才是Agent的业务世界
  • 数组名的隐式转换规则
  • 2026 照片恢复教程|5 种零基础恢复技巧汇总,最后一个90%人不知道!
  • FPGA加速数字孪生:GRU算法与硬件优化实践
  • 【Springboot毕设全套源码+文档】基于Java+springboot电缆行业生产管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 自动灌溉系统:AI 什么时候浇水,比老农还准?
  • 为什么我们需要关注线程?
  • 解密高并发视频中台:基于 Docker 容器化与 GB28181/RTSP 协议栈的边缘计算全纳架构(附源码交付)
  • tqdm进度条:让命令行程序更友好
  • SkyWalking:分布式系统的全栈监控方案
  • PTA 7-4 列车调度题解:不用队列,一个数组搞定(C语言版,含时间复杂度分析)
  • Linux的职业(要求)与虚拟机安装教程