找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

93

积分

0

好友

11

主题
发表于 2025-9-10 22:08:33 | 查看: 96| 回复: 0

课程简介

本课程系统讲解C++多线程编程技术,涵盖C++11/14/17/20标准下的核心多线程特性。课程从多线程基础原理入手,深入讲解线程创建、状态管理、互斥锁、共享锁、条件变量等关键技术,并结合RAII机制、智能指针等现代C++特性实现资源安全管理。通过实际案例演示多核计算优化和线程池实现,最终完成基于FFmpeg的音视频批量转码项目实战。学员将掌握现代C++多线程编程的核心技能,具备开发高性能并发应用的能力。课程配套完整的代码示例、项目资料和详细讲解视频,帮助学习者从理论到实践全面掌握多线程编程技术。


下载地址

游客,如果您要查看本帖隐藏内容请回复

课程目录

01 课程导学与线程基础

第1-7节:课程介绍、多线程优势、线程创建与生命周期管理。

02 线程同步与互斥锁

第8-11节:竞争状态、互斥锁使用、超时锁与可重入锁应用。

03 高级锁与RAII管理

第12-16节:手动RAII实现、lock_guard、unique_lock与共享锁包装器。

04 死锁解决与线程通信

第17-20节:scoped_lock防死锁、条件变量实现生产者消费者模型。

05 异步编程与多核计算

第21-26节:promise_future传值、async异步、base16编码性能对比。

06 线程池实现原理

第27-30节:线程池初始化、任务调度、退出管理与lambda表达式应用。

07 线程池高级功能

第31-33节:原子变量统计任务、智能指针管理、异步结果获取。

08 实战案例与课程总结

第34-36节:音视频转码测试、ffmpeg多线程应用、屏障协调与课程回顾。

--- 点击展开详细目录 ---

资料

  • 📦 1为什么要使用多线程_第一个线程代码示例-01.zip

  • 📦 2thread 对象生命周期和线程等待和分离-01.zip

  • 📦 3全局函数作为线程入口分析参数传递内存操作-01.zip

  • 📦 4线程函数传递指针和引用-01.zip

  • 📦 5使用成员函数作为线程入口并封装线程基类接口-01.zip

  • 📦 6lambda临时函数作为线程入口-01.zip

  • 📦 8竞争状态和临界区介绍_互斥锁mutex代码演示-01.zip

  • 📦 9 互斥锁的坑_线程抢占不到资源原因和解决方法-01.zip

  • 📦 10超时锁timed_mutex和可重入锁recursive_mutex-01.zip

  • 📦 11共享锁shared_mutex解决读写问题-01.zip

  • 📦 12手动实现RAII管理mutex资源_锁自动释放-01.zip

  • 📦 13c++11RAII控制锁lock_guard-01.zip

  • 📦 14unique_lock可临时解锁控制超时的互斥体包装器-01.zip

  • 📦 15 C++14shared_lock共享锁包装器-01.zip

  • 📦 16c++17scoped_lock解决互锁造成的死锁问题-01.zip

  • 📦 17项目案例线程通信使用互斥锁和list实现线程通信-01.zip

  • 📦 19condition_variable代码示例读写线程同步-01.zip

  • 📦 20条件变量应用线程通信解决线程退出时的阻塞问题-01.zip

  • 📦 21promise和future多线程异步传值-01.zip

  • 📦 22packaged_task 异步调用函数打包-01.zip

  • 📦 23async创建异步线程替代thread-01.zip

  • 📦 24c++多核计算分析并实现base16编码-01.zip

  • 📦 25c++11实现多核base16编码并与单核性能测试对比-01.zip

  • 📦 26c++17for_each多核运算示例编码base16并对比性能-01.zip

  • 📦 28完成线程池的初始化和启动-01.zip

  • 📦 29完成线程池任务调度-01.zip

  • 📦 30完成线程池退出并等待任务处理结束利用lambada表达式-01.zip

  • 📦 31线程池中在在运行的任务数量获取使用atomic原子变量-01.zip

  • 📦 32使用智能指针管理线程对象和任务对象的生命走起-01.zip

  • 📦 33异步获取线程池中任务执行结果-01.zip

  • 📦 34基于线程池实现音视频批量转码测试任务-01.zip

  • 📦 35完成线程池案例基于ffmpeg工具多线程转码视频-01.zip

  • 📦 36c++20屏障barrier实现线程协调-01.zip

  • 🎬 1-1 课程介绍-.mp4

  • 🎬 1-2 为什么要使用多线程_第一个线程代码示例-.mp4

  • 🎬 1-3 thread 对象生命周期和线程等待和分离-.mp4

  • 🎬 1-4 全局函数作为线程入口分析参数传递内存操作-.mp4

  • 🎬 1-5 线程函数传递指针和引用-.mp4

  • 🎬 1-6 使用成员函数作为线程入口并封装线程基类接口-.mp4

  • 🎬 1-7 lambda临时函数作为线程入口-.mp4

  • 🎬 2-1 多线程的状态及其切换流程分析-.mp4

  • 🎬 2-2 竞争状态和临界区介绍_互斥锁mutex代码演示-.mp4

  • 🎬 2-3 互斥锁的坑_线程抢占不到资源原因和解决方法-.mp4

  • 🎬 2-4 超时锁timed_mutex和可重入锁recursive-.mp4

  • 🎬 2-5 共享锁shared_mutex解决读写问题-.mp4

  • 🎬 3-1 手动实现RAII管理mutex资源_锁自动释放-.mp4

  • 🎬 3-2 c++11RAII控制锁lock_guard-.mp4

  • 🎬 3-3 unique_lock可临时解锁控制超时的互斥体包装器-.mp4

  • 🎬 3-4 C++14shared_lock共享锁包装器-.mp4

  • 🎬 3-5 c++17scoped_lock解决互锁造成的死锁问题-.mp4

  • 🎬 3-6 项目案例线程通信使用互斥锁和list实现线程通信-.mp4

  • 🎬 3-7 条件变量应用场景_生产者消费者信号处理步骤-.mp4

  • 🎬 3-8 condition_variable代码示例读写线程同步-.mp4

  • 🎬 3-9 条件变量应用线程通信解决线程退出时的阻塞问题-.mp4

  • 🎬 4-1 promise和future多线程异步传值-.mp4

  • 🎬 4-2 packaged_task 异步调用函数打包-.mp4

  • 🎬 4-3 async创建异步线程替代thread-.mp4

  • 🎬 4-4 c++多核计算分析并实现base16编码-.mp4

  • 🎬 4-5 c++11实现多核base16编码并与单核性能测试对比-.mp4

  • 🎬 4-6 c++17for_each多核运算示例编码base16-.mp4

  • 🎬 4-7 线程池实现步骤说明-.mp4

  • 🎬 5-1 完成线程池的初始化和启动-.mp4

  • 🎬 5-2 完成线程池任务调度-.mp4

  • 🎬 5-3 完成线程池退出并等待任务处理结束利用lambada表达式-.mp4

  • 🎬 5-4 线程池中在在运行的任务数量获取使用atomic原子变量-.mp4

  • 🎬 5-5 使用智能指针管理线程对象和任务对象的生命走起-.mp4

  • 🎬 5-6 异步获取线程池中任务执行结果-.mp4

  • 🎬 5-7 基于线程池实现音视频批量转码测试任务-.mp4

  • 🎬 5-8 完成线程池案例基于ffmpeg工具多线程转码视频-.mp4

  • 🎬 6-1 c++20屏障barrier实现线程协调-.mp4

  • 🎬 6-2 课程总结-.mp4



您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|云栈社区(YunPan.Plus) ( 苏ICP备2022046150号-2 )

GMT+8, 2025-11-19 13:38 , Processed in 0.055661 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 CloudStack.

快速回复 返回顶部 返回列表