Concurrent Programming with Go

Concurrent Programming with Go

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 1h 32m | 198 MB

In this course, you will learn about Go’s concurrency system and learn how to use goroutines, channels, and the sync package to build robust, highly concurrent applications.

Taking advantage of the processing power of today’s multi-core computers is a challenge that every developer faces. In this course, Concurrent Programming with Go, you will gain the ability to use Go’s powerful tools that allow multi-threaded programs to be written in a clear, easily understood manner. First, you will learn how to use goroutines to initiate concurrent tasks. Then, you will explore the sync package and how to use it to coordinate goroutines. Finally, you will discover channels and how they compliment and complete the coordination features of the sync package. When you are finished with this course, you will have the skills and knowledge of Go’s concurrency model needed to write safely, highly concurrent applications.

Table of Contents

Course Overview
1 Course Overview

Goroutines
2 Introduction
3 Course Overview
4 Concurrency and Parallelism
5 Creating the Course Demo
6 Introduction to Goroutines
7 Demo – Creating Goroutines
8 Summary

The Sync Package
9 Introduction
10 Overview of the sync Package
11 WaitGroups
12 Demo – Using WaitGroups
13 Mutexes
14 Demo – Mutexes
15 Demo – Read Write Mutexes
16 Summary

Channels
17 Introduction
18 Introduction to Channels
19 Overview of Channels
20 Creating Channels
21 Demo – Unbuffered Channels
22 Demo – Buffered Channels
23 Channel Types
24 Demo – Channel Types
25 Closing Channels
26 Demo – Working with Closed Channels
27 Channels and Control Flow
28 Using Channels with If Statements
29 Using Channels in Loops
30 Select Statements
31 Demo – Using Select Statements
32 Summary