Asynchronous Programming Design Patterns - C/C++

所在平台: Udemy

课程主页: https://www.udemy.com/course/eventloop/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:异步编程设计模式 - C/C++ 课程概述:欢迎来到异步编程的世界!异步编程被广泛应用于应用程序与其他外部实体(例如其他线程或进程)的交互中。由于其本质上是异步的,意味着任何事情都可能在任何时间发生,非常不可预测。如何通过异步编程编写软件?这就是本课程将要学习的内容。规模合理的大型软件项目通常是异步的。当软件项目开始整合和与外部实体进行通信或采用多线程时,就会超出同步的界限。异步编程在分布式系统、网络协议、分布式数据库等领域广泛应用。 课程先决条件: 1. 了解线程同步概念 - 互斥量和条件变量(任何线程库,但我们将使用pthreads) 2. 熟悉C或C++,但如果你喜欢其他主流语言,也可以借用这些概念并在你喜欢的语言中实现 3. 对基本数据结构(如链表)有一定了解 4. 渴望学习并超越大众(DS/ALGO/CP) 课程的最终产品将是一个迷你但非常强大的库,允许你通过异步编程开发软件。 课程难度等级:中级到高级。非常初学者请避免报名。 课程中要解决的软件设计问题: 1. 在单线程程序中模拟并发 2. 将多线程程序简化为单线程 3. 工作延迟 4. 异步通信 5. 排队和处理传入的网络数据包 祝你好运!祝学习愉快!完成本课程后,你将理解: - 同步编程的相关问题 - 设计和实现异步应用程序/软件 - 什么类型的应用程序/软件不应使用多线程 - 什么类型的应用程序/软件应当使用异步编程 - 永远告别锁定和线程同步 本课程的概念适用于你选择的其他编程语言。

课程评论(0条)

课程详情

Welcome to the World of Asynchronous Programming!! Asynchronous programming is used anywhere where your application interacts with other external entities - be it other threads, other processes. This world by its nature is Asynchronous. Asynchronous literally means - anything can happen anytime - unpredictable. How do you write software through Asynchronous programming? That's what we shall be going to learn in this course. Big software projects of reasonable sizes are Asynchronous. Software projects leave their synchronous boundaries the moment it starts integrating and communicating with external entities or go multithreaded.Asynchronous programming is widely used in Distributed Systems, Networking Protocols, Distributes Databases, etc.The prerequisite of this Course:Know Thread Synchronization Concepts - Mutexes and Condition Variables ( any thread library, but we will be using pthreads )C or C++ in preferable, but if your fav language is any other mainstream language then also it is ok. Borrow the concepts and implement it in your fav language.Comfortable with basic Data structures such as Linked-List.Zeal to learn and excel - beyond what Crowd is doing ( DS/ALGO/CP )The end product of this Course shall be a mini library yet very powerful library which allows you do develop software through Asynchronous programming.Course Difficulty Level:The Course is level is Intermediate to Advanced. Very beginners pls refrain from enrolling into the Course.Software Designing Problems to Address in this Course:Problem 1. Simulating Concurrency in Single-Threaded Programsproblem 2. Reducing Multi-threaded Programs to Single ThreadedProblem 3. Work DeferralsProblem 4. Asynchronous CommunicationProblem 5. Queuing and Processing Incoming Network PacketsGood luck! Happy Learning.After doing this course You would understand:Problems with Synchronous programmingDesign and Implement Asynchronous Application/SoftwaresWhat type of applications/softwares must not be multi-threadedWhat type of applications/softwares must be asynchronousSay good bye to locking and thread synchronization for forever.The Concepts you would learn in this course are portable to other programming languages of your choice

课程标签

0人关注该课程

主题相关的课程