c++多线程详解

本文详细介绍了C++中的多线程概念,包括atomic类型、thread的使用、mutex及其衍生类,以及condition_variable和future等同步原语,旨在帮助读者深入理解C++的并发编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来源自我的博客

http://www.yingzinanfei.com/2017/03/07/cduoxianchengxiangjie/

  • atomic
    • atomic
      • atomic_bool
      • atomic_int
      • atomic_long
    • atomic_flag
  • thread
    • thread类创建线程,接受函数和函数参数作为thread类参数
  • mutex
    • mutex类,互斥量
      • mutex 最基本的Mutex类
      • recursive_mutex 递归Mutex类,允许同一线程对互斥量多次上锁(递归上锁),来获得互斥量对象的多层所有权。释放互斥量时需要调用与该锁层次深度相同次数的unlock()
      • time_mutex 定时Mutex类
        • try_lock_for() 接受一个时间范围,表示在这一段时间范围之内线程如果没有获得锁则被阻塞住,如果在此期间其他线程释放了锁,则该线程可以获得互斥量的锁,如果超时返回false
        • try_lock_until() 接受一个时间点作为参数,在指定时间点未到来之前线程如果没有获得锁则被阻塞住,如果在此期间其他线程释放了锁,则该线程可以获得对互斥量的锁,如果超时返回false
      • recursive_timed_mutex 定时递归Mutex类
    • Lock类
      • lock_guard 与Mutex RAII相关,方便线程对互斥量上锁
        • 模板类,template class lock_guard;
        • lock_guard对象通常用于管理某个锁对象
        • 在某个lock_guard对象的声明周期内,它所管理的锁对象会一直保持上锁状态。而lock_guard的生命周期结束之后,它所管理的锁对象会被解锁。
        • 不负责管理Mutex对象的生命周期,只是简化了Mutex对象的上锁和解锁操作,方便线程对互斥量上锁。
        • 构造函数
          • explicit lock_guard(mutex_typ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值