Part B (ADVANCE) Multithreading Design Patterns ( pthreads )

所在平台: Udemy

课程主页: https://www.udemy.com/course/multithreading-design-patterns/

课程评论:没有评论

第一个写评论        关注课程

课程简介

**Coursera 课程总结:多线程设计模式 (pthreads) - 进阶篇** 本课程是《多线程与线程同步 - C/C++》的进阶篇,旨在教授高级的线程同步数据结构和多线程软件模式。课程假定学习者已完成先修课程,或对互斥量(Mutexes)和条件变量(Condition Variables)有深入理解。 **课程特色:** * **技术栈:** 使用 POSIX threads (pthreads),课程内容主要面向 Linux 环境。 * **概念为王:** 尽管使用 C 语言演示,但课程高度侧重概念,可应用于支持多线程的任何编程语言(如 Java, C#, Python, Go, Kotlin)。 * **实践导向:** 课程包含大量多线程代码编写,帮助学习者掌握实际应用。 * **面试准备:** 涵盖多个面试常考主题和问题,为面试做好准备。 * **难度级别:** 面向中级到高级学习者。 **课程内容(部分):** 1. **线程管理** 2. **线程暂停与恢复** 3. **线程池/工作队列模型** 4. **线程屏障 (Thread Barriers)** 5. **等待队列模型** 6. **递归互斥量 (Recursive Mutexes)** * 定义 * 与普通互斥量的对比及使用场景 * 实现自定义递归互斥量 7. **读写锁 (Read-Write Locks)** * 定义 * 优势 * 实现自定义读写锁 8. **监视器 (Monitors)** * 实现读写监视器 * 使用监视器解决“桥梁问题” * 编写监视器的指导原则 * 案例研究:使用监视器实现新冠疫苗接种流程 9. **装配线模型 (Assembly Line Model)** 10. **死锁检测与预防** 11. **其他相关多线程主题** * 计时器设计 * 多线程 TCP 服务器设计 * 异步编程 **未安排主题(可能涉及):** * 有界等待 (Bounded Waiting) * FIFO (强) 信号量 (Fifo (Strong) Semaphores) * 事件对同步 (Event Pair Synchronization) * 使用信号量进行进程间同步 (Inter-Process Synchronization using Semaphores) * 多线程程序的 fork (Forking a Multi-Threaded Program) **总体而言,本课程提供了深入理解和实践多线程编程的宝贵机会,特别是在高级同步机制和设计模式方面。**

课程评论(0条)

课程详情

This is a sequel Course to Master Class-Multithreading & Thread Synchronization - C/C++, and this course should be done only when the prequel course has been completed unless you have reasonable knowledge regarding how Mutexes and Condition Variables work.In this course, we shall be Implementing Advanced Thread Synchronization Data Structures and Multithreading based software patterns, with some advanced thread synchronization-based problem-solving. This course uses POSIX threads, hence it is Linux only course. We shall be building upon the knowledge we gathered from the prequel course. *** However note that the course is highly conceptual and concepts learned can be easily applied to any programming knowledge which supports Multithreading. *** So, Java, C#, Python, Go, Kotlin Programmers do not hesitate to enroll in this course, you can write your own codes based on the concept discussed. This Course is unique and only one of its kind.The level of this course is Intermediate to Advanced. Table of Contents====================1. Thread Management2. Pausing and Resuming Threads3. Thread Pools/Work Crew Model4. Thread Barriers 5. Wait-Queue Model6. Recursive MutexesWhat are Recursive Mutexes?When to use over Normal Mutexes?Implement own Recursive Mutex7. Read-Write LocksWhat are Read-Write locks ?What is its benefit?Implement your own Read-Write lock8. MonitorsImplement Reader-Writer MonitorSolving Bridge Problem using MonitorsGuidelines for writing MonitorsCase Study: Covid Vaccination Drive Implementation using Monitors*** Completed Till here as of 2 Mar 2022 **9. Assembly Line Model10. Deadlock Detection and Prevention11. Other Related Courses on Multi-ThreadingDesigning TimersDesigning Multi-Threaded TCP ServersAsynchronous ProgrammingUnScheduled Topics:=================11. Bounded Waiting12. Fifo (Strong) Semaphores13. Event Pair Synchronization14. Inter-Process Synchronization using Semaphores15. Forking a Multi-Threaded ProgramThough We use the C language to demonstrate the concepts, concepts hold good for any programming language. This course is equally valuable for C++ programmers. Other language programmers may also find this course useful as we explain Multithreading concepts close to the ground zero levels with No Abstraction.At each stage of this Course series, you shall be writing a lot of multi-threaded Codes. So be ready to Master the Multi-threading. Along the journey, we shall cover several interview-favorite topics and Questions to prepare you alongside for interviews.

课程标签

0人关注该课程

主题相关的课程