导航
课程首页
  • PM-Summit 全球产品经理大会云会员
  • SDCon 全球软件研发技术大会云会员
  • ML-Summit 全球机器学习技术大会云会员
  • C++性能优化高端培训
  • AI全栈开发实战营
精品课 极客时间

C 知道

登录
会员中心
消息
历史
创作中心
创作
学习中心
成为讲师

C++11 14 17 20 多线程从原理到线程池实战 锁资源管理和条件变量 手动实现RAII管理mutex资源_锁自动释放

C++11 14 17 20 多线程从原理到线程池实战
共39节 2388人在学 课程详情
课程目录
讨论留言
  • C++ 11 多线程快速入门

    • 课程介绍
    • 为什么要使用多线程_第一个线程代码示例
    • thread 对象生命周期和线程等待和分离
    • 全局函数作为线程入口分析参数传递内存操作
    • 线程函数传递指针和引用
    • 使用成员函数作为线程入口并封装线程基类接口
    • lambda临时函数作为线程入口
    • call_once 多线程调用函数只进入一次
  • 多线程通信和锁

    • 多线程的状态及其切换流程分析
    • 竞争状态和临界区介绍_互斥锁mutex代码演示
    • 互斥锁的坑_线程抢占不到资源原因和解决方法
    • 超时锁timed_mutex和可重入锁recursive_mutex
    • 共享锁shared_mutex解决读写问题
  • 锁资源管理和条件变量

    • 手动实现RAII管理mutex资源_锁自动释放
    • c++11RAII控制锁lock_guard
    • unique_lock可临时解锁控制超时的互斥体包装器
    • C++14shared_lock共享锁包装器
    • c++17scoped_lock解决互锁造成的死锁问题
    • 项目案例线程通信使用互斥锁和list实现线程通信
    • 条件变量应用场景_生产者消费者信号处理步骤
    • ondition_variable代码示例读写线程同步
    • 条件变量应用线程通信解决线程退出时的阻塞问题
  • 多线程异步通信和并发计算

    • promise和future多线程异步传值
    • packaged_task 异步调用函数打包
    • async创建异步线程替代thread
    • c++多核计算分析并实现base16编码
    • c++11实现多核base16编码并与单核性能测试对比
    • c++17for_each多核运算示例编码base16并对比性能
  • C++11 14 17 线程池实现

    • 线程池实现步骤说明
    • 完成线程池的初始化和启动
    • 完成线程池任务调度
    • 完成线程池退出并等待任务处理结束利用lambada表达式
    • 线程池中在在运行的任务数量获取使用atomic原子变量
    • 使用智能指针管理线程对象和任务对象的生命走起
    • 异步获取线程池中任务执行结果
    • 基于线程池实现音视频批量转码测试任务
    • 完成线程池案例基于ffmpeg工具多线程转码视频
  • C++20 线程特性

    • c++20屏障barrier实现线程协调
    • 课程总结
回复
切换为未回复评论
切换为时间正序
请发表友善的回复…
发表回复
发表回复
按下Enter换行,Ctrl+Enter发表内容
编辑
预览
    轻敲空格完成输入
    • 显示为
    • 卡片
    • 标题
    • 链接

    反馈

    播放页问题反馈
    视频学习中有任何产品建议都可由此反
    馈,我们将及时处理!

    课时介绍

    手动实现RAII管理mutex资源_锁自动释放

    课程介绍

    学习计划

    每天学习一小时以上

    跟着视频动手编写代码

    调试代码并对比课程多提供的源码

    课程目标

    理解多线程原理并学会c++11 的多线程编程

    理解线程池技术原理并能使用c++实现

    理解c++11 14 17 20 多线程编程相关特性

    常见问题

    课程使用的开发工具?

    课程使用的开发工具是vs2019

    课程代码是否是跨平台?

    课程代码都是基于c++自生特性,没有用到第三方库,都是跨平台

    旧版本的开发工具是否可以?

    课程中的大部分代码是c++11 ,绝大部分开发工具都支持,其中c++14 17要比较新的工具支持,c++20需要vs2019

    课程是否提供源码?

    课程提供源码,方便同学学习过程的出现问题,进行对照调试错误。

     

     

    推荐课程

    信息系统项目管理师自考笔记

    李明 · 709人在学

    python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据

    王先生 · 22068人在学

    手把手搭建Java超市管理系统【附源码】(毕设)

    汤小洋 · 4198人在学

    Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教

    黄菊华 · 786人在学

    基于SSM酒店管理系统(毕设)

    小尼老师 · 837人在学

    java项目实战之购物商城(java毕业设计)

    Long · 5151人在学

    手把手搭建Java求职招聘系统【附源码】(毕设)

    汤小洋 · 1504人在学

    Python Django 深度学习 小程序

    钟翔 · 2315人在学

    城管局门前三包管理系统+微信小程序(vue+springboot)

    赖国荣 · 597人在学

    Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序

    李杰 · 3979人在学

    正在试验
    后自动删除环境
    课程实验
    本次实验时间已到期 00:00:00

      订阅失败

      C++11 14 17 20 多线程从原理到线程池实战
      C++11 14 17 20 多线程从原理到线程池实战 ...

      订阅列表已满,请先移出部分订阅内容。

      当前章节需购买后观看
      开通超级会员免费看!专家精选系列课程,满足你从入门到精通!更有问答月卡免费送,你的问题有问必答!
      提交答案

      购买课程

      扫码完成付费,可继续学习全部课程内容

      加载中...
      课件正在飞速打包中,请耐心等待几秒钟~
      首页
      博客
      下载
      学习
      社区
      C知道
      GitCode
      InsCodeAI
      技术会议
      会员中心
      创作中心
      联系我们
      工作时间: 8:30 - 22:00
      客服电话: 400-660-0108
      kefu@csdn.net在线客服
      • 关于我们
      • 招贤纳士
      • 商务合作
      • 寻求报道
      • 京ICP备19004658号
      • 经营性网站备案信息
      • 公安备案号11010502030143
      • 营业执照
      • 北京互联网违法和不良信息举报中心
      • 家长监护
      • 中国互联网举报中心
      • 网络110报警服务
      • Chrome商店下载
      • 账号管理规范
      • 版权与免责声明
      • 版权申诉
      • 出版物许可证
      • ©1999-2024北京创新乐知网络技术有限公司

      视频问题反馈

      提交遇到的问题我们会尽快解决的 ~