Concurrency in Go (Golang)

所在平台: Udemy

课程主页: https://www.udemy.com/course/concurrency-in-go-golang/

课程评论:没有评论

第一个写评论        关注课程

课程简介

**Go语言并发编程公开课总结** 本课程旨在帮助开发者高效利用计算资源,深入探讨Go语言的并发特性。课程内容结构清晰,涵盖了并发原语、模式、Context包以及一个关于接口的奖励章节。 **核心要点:** * **并发原语:** * 探讨线程的局限性以及goroutine相比于操作系统线程的优势。 * 教授如何避免竞态条件,以及Channels在数据通信中的作用。 * 讲解如何实现超时和非阻塞通信。 * 明确何时使用互斥锁(mutex)和Channels,以及如何同步goroutine的执行。 * 介绍如何在Go中检测竞态条件。 * **并发原语深入解析:** * 揭示Go调度器的工作原理。 * 阐述goroutine上下文切换的机制。 * 深入理解Channels的发送和接收底层实现。 * **并发模式:** * 学习如何使用Goroutines和Channels构建流式处理管道。 * 掌握如何实现计算密集型任务的Fan-out和Fan-in模式。 * 重点讨论如何避免Goroutine泄漏。 * **Context包:** * 学习如何在API边界上传播请求范围的数据和取消信号。 * **编程练习:** * 每个概念后都配有编程练习,并在GitHub上提供练习蓝图。 * **示例应用:** * 通过构建实际项目来巩固学习成果,包括: * Web爬虫的蓝图。 * 图像处理管道。 * 使用Context包实现HTTP服务器超时。 * **奖励章节 - 接口:** * 探讨如何将不同对象之间的通用行为定义为抽象类型。 * 理解接口如何为高层函数提供抽象。 本课程通过理论讲解与实践练习相结合的方式,使学习者能够全面掌握Go语言的并发编程能力。

课程评论(0条)

课程详情

Questions that comes to all Developers is whether they are utilising the available Computing resource efficiently? Course OverviewThe course could be divided into five parts.Concurrency PrimitivesDeep Dive into Concurrency PrimitivesConcurrency PatternsContext PackageBonus Section - InterfacesIn the course we try to answer these questions.Concurrency PrimitivesWhat are the limitations of Threads?What are advantages of goroutines over OS threads?How do we avoid race condition?How Channels are used to communicate data?How do we implement timeout and non-blocking communication?When do we use mutex and channels?How to synchronise execution of goroutines?How to detect race condition in Go?Deep Dives into Concurrency PrimitivesHow Go scheduler works?How does context switching works?How channel send and receive works underneath?Concurrency PatternsHow to construct streaming pipelines with Goroutines and Channels?How to Fan-out and Fan-in computationally intensive stages?How do we avoid Goroutine Leaks?Context PackageHow we can propagate request scoped data and cancellation signal across API boundaries?Coding ExercisesEach concept is followed by a Coding Exercise.Exercises blueprint are shared on Github.Sample ApplicationsWe will buildBlueprint of web crawler.Image processing pipeline.HTTP Server Timeouts with Context Package.Bonus Section - InterfacesHow to define common behaviour between different objects as abstract type?How Interface provides an abstraction for higher level functions?

课程标签

0人关注该课程

主题相关的课程