SUPERCHARGE your code for maximum performance on modern hardware

What you will learn

Fundamentals of concurrency – what it is, how it works in any language

The complete set of tools and techniques for implementing concurrency with the Go programming language

Confidence, experience and sample code to quickly implement concurrency into your own projects.

Downloadable resources include dozens of code samples, course slides, cheat sheets and more.

Description

Are you ready to tackle one of the most exciting and important features of the Go language?

According to the most recent developer surveys, Go(lang) is one of the world’s most desired and loved languages, and its developers are among the highest paid in the world. Go is also the top language that companies are planning to migrate to, meaning that your Go skills are likely future-proof for many years to come.

Concurrency is considered to be a very advanced topic within Golang, and some comprehensive Go courses do not address it at all. Yet we believe that with just a reasonable number of hours of effort, you can be on your way, comfortable with concurrency and ready to add asynchronous features to your next programming project.

This course is for ANYONE interested in concurrency, especially in the Go programming language. There are no strict prerequisites, but knowledge of computer programming principles and the Go language will be very helpful.

This relatively short course covers ALL the essentials of concurrency – theory, syntax, coding examples, and downloadable copies of all visual materials.

Specifically, we will cover:

  • Concurrency theory, terminology, trends, benefits, and challenges
  • Goroutines
  • Blocking code
  • Wait groups
  • Channels
  • IO bound vs CPU bound code with examples of each
  • Race conditions
  • Mutexes
  • Condition variables
  • Atomic variables
  • Concurrency patterns

This course is offered at an affordable price, saving you weeks or months of digging through YouTube videos or purchasing other courses just to get up and running with concurrency.

Enroll today and be on your way! See you soon.

English

Language

Content

Welcome and Course Qverview

Welcome! I’m glad you’re here

Course Introduction

How this course works

Classroom Overview

Understanding Concurrency – Trends, Benefits and Challenges

Everyday Concurrency

Understanding the Terminology

Trend #1 – Latency

Trend #2 – Multiple CPU Cores

Summary of Benefits and Challenges

Pop Quiz: Understanding Concurrency

Setting Up Your Custom Development Environment

Installing Go, Course Resources and Your IDE

Using Multiple Screens and Other Physical Considerations

Download or RE-Download Course Resources

Creating Your First Goroutine

Let’s try it….

Pop Quiz: Goroutines


Get Instant Notification of New Courses on our Telegram channel.


Understanding Blocking Code

What exactly does “blocking” mean?

Using Wait Groups to Track Goroutine Status

Wait Groups Overview

Coding Example

Pop Quiz: Wait Groups

Using Channels to Communicate with Goroutines

Purpose and Syntax Overview

Using Channels in our Code

Using Channels to Synchronize Goroutines

Pop Quiz: Channels

Understanding IO-bound vs CPU-bound Processes

IO-bound vs CPU-bound Intro

CPU-bound Demos

IO-bound Demos

IO-bound vs CPU-bound Summary

Pop Quiz: IO Bound vs CPU Bound Code

What could go wrong? Race Conditions

Race Condition Intro Demo

Race Condition Intro

Race Condition Solutions – Mutex, Atomic Variables

Race Condition Solution Demo

Condition Variables Demo

Pop Quiz: Race Conditions

Concurrency Patterns

Worker Pools

Wrap Up! and Closing Credits

Congratulations!

Reminder of course resources…

Closing Credits