首页 > 编程语言 >C++20(信号量)

C++20(信号量)

时间:2023-12-01 09:12:12浏览次数:38  
标签:std 20 C++ 信号量 semaphore include

#include <iostream>
#include <semaphore>
#include <thread>
using namespace std;

std::counting_semaphore<3> csem(0);
// semaphore release = condition_variable notify
// semaphore acquire = condition_variable wait
void task()
{
    cout << "task:ready to recv signal \n";
    csem.acquire();
    cout << "task:acquire end\n";
}
int main()
{
    thread t0(task);
    thread t1(task);
    thread t2(task);
    thread t3(task);
    thread t4(task);

    cout << "main:ready to signal :release\n";
    csem.release(3);
    cout << "main: signal end\n";

    t0.join();
    t1.join();
    t2.join();
    t3.join();
    t4.join();
}

 

标签:std,20,C++,信号量,semaphore,include
From: https://www.cnblogs.com/FastEarth/p/17868869.html

相关文章

  • 2023年11月随笔之双11成为有qian人
    1. 回头看日更坚持了334天。学信息系统项目管理师第4版系列全部更新完成读《图数据库实战》缓缓更......读《读程序员的制胜技》开更并更新完成读《像火箭科学家一样思考:将不可能变为可能》开更持续更新中11月码字68883字,日均码字数2296字,累计码字645971字,累积......
  • 你知道C++如何在一个函数内返回不同类型吗?
    C++中要在一个函数内返回不同类型的值,你可以使用C++17引入的std::variant或std::any,或者使用模板和多态。下面将分别介绍这些方法。方法一:使用std::variantstd::variant允许你在一个函数内返回不同类型的值,但它要求所有可能的返回类型都在一个有限的集合中,你需要提前定......
  • 实验四 现代C++标准库类与模板
    实验任务1task1.cpp源码task1_1.cpp:#include<iostream>usingstd::cout;usingstd::endl;//类A的定义classA{public:A(intx0,inty0):x{x0},y{y0}{}voidshow()const{cout<<x<<","<<y<<endl;}......
  • 实验4 现代C++标准库与类模板
    实验任务5textcoder.hpp#programonce#include<iostream>#include<string>usingnamespacestd;classTextCoder{private:stringtext;voidencoder();voiddecoder();public:TextCoder(string&str);stringget_ciphertext(......
  • 平凡的工作月|2023年2月小结
    平平淡淡就是工作生活~2月份,解锁了33小镇市集。元宵节的时候,第一次在东莞33小镇做市集。这边刚做的消费能力确实不错。同时元宵节的时候也有做东莞的滨海湾花里海市集,据说也不错,就是结束后得去搓地板,说是商户在地板上留下油渍颜料啥的。花里海,环境确实不赖,可能是因为刚开发不......
  • Visual Studio 2022:Vulkan 环境配置
    (前置)安装VulkanSDK,并确认安装目录,此后记为%VulkanDir%(例如:C:/VulkanSDK/1.3.261.1)VisualStudio中新建C++项目,进入“项目”>>“[项目名]属性”,上方两个选项设置为“所有配置”“所有平台”C/C++>>常规>>附加包含目录:添加%VulkanDir%/Include(替换%VulkanDir%为实际目录,下同)......
  • 深圳我又来啦|2023年3月小结
    21年下半年开始就离开深圳,22年上半年在深圳下半年又离开深圳,23年上半年又回来啦。兜兜转转,终于又回到深圳。三月份开始,开始在深圳上班工作虽然说是在深圳上班,但是工作地点并不一定在深圳。三月初一直在做虎门天虹的设计同时还坐着坪地创城ccone的市集设计图和效果图,一直蹲家......
  • 2023年11月30日总结
    更好地观看总结11月又要结束了啊。突然发现。要冬天了。窗外是似水的蓝色。今天是高级图论,就照着Alex-Wei的那个博客做题吧,懒得自己搞了。嘻嘻。link。[[同余最短路]]非常有趣的知识点。P2371[国家集训队]墨墨的等式AT3621[ARC084B]SmallMultiple环计数问题......
  • 实验4 现代C++标准库与类模板
    实验任务51#include<iostream>2#include<string>3usingnamespacestd;4classTextCoder5{6public:7TextCoder()=default;8TextCoder(stringstr);9stringget_ciphertext();10stringget_deciphertext();11......
  • Linux Mint(Ubuntu)系统VS Code C/C++环境配置include error问题
    1.问题描述安装完成LinuxMint后发现随系统自带了gcc,心里比较开心,以为自己不需要装了。但是在安装完VSCode之后,一直提示#includeerrorsdetected.PleaseupdateyourincludePath.Squigglesaredisabledforthistranslationunitlinux2.解决方案重新通过apt安装gcc......