Udemy

Concurrency in Go (Golang)

Enroll Now
  • 15,653 Students
  • Updated 5/2022
  • Certificate Available
4.6
(1,354 Ratings)
CTgoodjobs selects quality courses to enhance professionals' competitiveness. By purchasing courses through links on our site, we may receive an affiliate commission.

Course Information

Registration period
Year-round Recruitment
Course Level
Study Mode
Duration
5 Hour(s) 0 Minute(s)
Language
English
Taught by
Deepak kumar Gunjetti
Certificate
  • Available
  • *The delivery and distribution of the certificate are subject to the policies and arrangements of the course provider.
Rating
4.6
(1,354 Ratings)

Course Overview

Concurrency in Go (Golang)

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

Questions that comes to all Developers is whether they are utilising the available Computing resource efficiently? 

Course Overview

The course could be divided into five parts.

  • Concurrency Primitives

  • Deep Dive into Concurrency Primitives

  • Concurrency Patterns

  • Context Package

  • Bonus Section - Interfaces

In the course we try to answer these questions.

Concurrency Primitives

  • What 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 Primitives

  • How Go scheduler works?

  • How does context switching works?

  • How channel send and receive works underneath?

Concurrency Patterns

  • How 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 Package

  • How we can propagate request scoped data and cancellation signal across API boundaries?

Coding Exercises

  • Each concept is followed by a Coding Exercise.

  • Exercises blueprint are shared on Github.

Sample Applications

We will build

  • Blueprint of web crawler.

  • Image processing pipeline.

  • HTTP Server Timeouts with Context Package.

Bonus Section - Interfaces

  • How to define common behaviour between different objects as abstract type?

  • How Interface provides an abstraction for higher level functions?

Course Content

  • 14 section(s)
  • 77 lecture(s)
  • Section 1 Introduction
  • Section 2 Goroutines
  • Section 3 Deep Dive - Go Scheduler
  • Section 4 Channels
  • Section 5 Deep Dive - Channels
  • Section 6 Select
  • Section 7 Sync Package
  • Section 8 Race Detector
  • Section 9 Web Crawler
  • Section 10 Concurrency Patterns
  • Section 11 Image Processing Pipeline
  • Section 12 Context Package
  • Section 13 HTTP Server Timeouts with Context Package
  • Section 14 Bonus Section: Interface

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.

Reviews

  • S
    Shyam Pandey
    5.0

    nice

  • C
    Chaithra G
    5.0

    Well Explained . Thanks

  • S
    Shandy Siswandi
    5.0

    good

  • K
    Kyrylo Chubenko
    3.0

    The material is nice and complex, the voice could be better. Sometimes it is very hard to understand what the narrator says.

Start FollowingSee all

We use cookies to enhance your experience on our website. Please read and confirm your agreement to our Privacy Policy and Terms and Conditions before continue to browse our website.

Read and Agreed