Concurrency in Go (Golang)

Posted By: lucky_aut

Concurrency in Go (Golang)
Last updated 5/2022
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.05 GB | Duration: 5h 0m

Learn the Why's and How's of concurrency in Go.

What you'll learn
How to spin Goroutines and communicate data between them.
How to avoid Race conditions and Deadlocks.
How to synchronize the execution of Goroutines.
How Go Scheduler works.
How to build streaming pipelines with Goroutines and Channels.
How to propagate data across API boundary.

Requirements
Basic knowledge of Go Programming Language like loops, functions, methods.
Installation of Go compiler and any IDE on the laptop.

Description
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?