|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/learn-modern-cplusplus-concurrency/
课程评论:没有评论
课程名称:使用现代C++学习多线程 课程概述:请注意,本课程正在更新中。所有视频都将重新录制,并将添加新材料。我会尽量减少对学习的干扰,但有时可能会不可避免。多线程编程在计算机的许多领域中被广泛应用,包括图形处理、机器学习和互联网商店。理解线程对于充分利用现代硬件的能力至关重要。 C++现在直接支持线程,使得编写具有良好定义行为的可移植多线程程序成为可能,而无需依赖任何外部库。本课程将全面介绍线程的基础知识,并为您深入学习线程的高级用法做好准备。所有示例均提供源代码。课程不要求有多线程的先前知识,但您需要具备中级C++编程能力,能够使用“现代”特性,例如智能指针和移动语义。 课程内容包括:多线程的基本概念及如何在C++中启动线程,可能遇到的多线程问题及解决方法;使用C++提供的工具在更高抽象层次上处理共享数据,包括条件变量和未来的承诺;异步、无锁及并行编程的介绍,包括原子变量和C++17中的并行算法。课程的最后,我们将实现一个并发队列和线程池,将所学知识综合运用。 每个视频都有可下载的练习和解决方案,帮助您在学习过程中检查理解,提高对材料的熟悉度和信心。还提供一些可选的挑战性作业。此外,我会积极支持课程,针对您的问题或难点,您可以通过问答功能或者私信我进行反馈。
Please note that this course is currently being updated. All the videos are being re-recorded, and new material will be added. I will try to minimize disruption, but there may be times when it is unavoidable.Multithreading is used in many areas of computing, including graphics processing, machine learning and Internet stores. An understanding of threads is essential to make full use of the capabilities of modern hardware.C++ now provides direct support for threads, making it possible to write portable multithreaded programs which have well-defined behaviour, without requiring any external libraries.This course thoroughly covers the basics of threading and will prepare you for more advanced work with threads. Source code is provided for all the examples. No previous knowledge of threading is required, but you should be comfortable with programming in C++ at an intermediate level, using "Modern" features such as smart pointers and move semantics.We start with the concepts of multithreading and learn how to launch threads in C++. We look at the problems which can occur with multiple threads and how to avoid them. C++ provides tools which allow us to work at a higher level of abstraction than system threads which share data; we cover condition variables and promises with futures. We will also look at asynchronous, lock-free and parallel programming, including atomic variables and the parallel algorithms in C++17. We will finish the course by implementing a concurrent queue and thread pool, which will bring together the material you have learnt.There are downloadable exercises for each video, with solutions, so you can check your understanding as you learn, gaining familiarity and confidence with the material. There are also some optional assignments, which are more challenging. I will be actively supporting the course. I will respond promptly if you have any questions or experience difficulties with the course content. Please feel free to use the Q & A feature or alternatively you can send me a private message.