No prior knowledge required
No unnecessary risks
您是否希望在竞争激烈的编程考试、工作面试或操作系统课程考试中取得优异成绩?那么您来对地方了,因为这个关于多线程和操作系统概念的综合课程已经为您准备好了。您是否知道,即使机器有 8 个内核,单线程进程也只能在一个内核上执行?多线程进程可以利用真正的硬件并行性来提高程序的性能。在本课程中,您将学习如何在没有数据竞争的情况下实现正确的多线程程序,以及如何使用锁和信号量来实现正确的同步解决方案。以下是您将在本课程中学到一些有趣问题的答案:- 什么是数据竞争?- 什么是进程同步?- 我们如何实现正确的多线程程序而不会出现数据竞争?- 什么是锁和信号量?- 死锁的必要条件是什么?- 操作系统如何处理死锁?- 操作系统如何实现线程?- 操作系统如何实现锁以确保正确的互斥和同步?在本课程中,我们将非常详细地介绍所有这些主题。您将了解为什么在程序中使用线程可以提高程序的性能,以及使用进程的开销是什么。您还将了解线程背后的关键思想、单线程进程与多线程进程之间的区别、使用线程的好处等等。我们还将深入研究 Pthread,并学习如何使用 Pthread 创建线程、如何将参数传递给线程、如何使用 Pthread self、Pthread equal 以及如何终止线程。您还将学习如何使用 Pthread join 等待线程终止,如何从线程函数返回值,以及如何等待线程。本课程还将涵盖线程中的全局变量、程序中的并发性、争用条件和原子操作、同步以及同步解决方案的正确性属性。您还将学习如何强制执行互斥、什么是锁以及如何在 Pthread 中使用锁。我们还将介绍信号量和同步模式、有界并发访问、信号以及如何使用信号量来避免忙等待。您还将了解多核编程和设计多线程程序的挑战。我们还将介绍线程池、读取器 – 写入器问题以及如何解决读取器 – 写入器问题。我们还将讨论 dining philosophers 问题以及如何解决它。本课程还将涵盖死锁的四个必要条件、如何防止死锁、什么是资源分配图以及如何处理死锁。您还将学习如何实现线程、什么是用户线程和内核线程、如何在 Linux 中实现线程以及如何实现锁。您还将了解 Test And Set 原子指令、旋转锁以及锁如何影响性能。Udemy 提供 30 天退款保证,如果您有兴趣参加我们的其中一门课程但无法购买,您可以申请奖学金入学。
那你还在等什么?报名参加本课程,掌握多线程和操作系统概念的艺术!