Go Concurrency

Go Concurrency

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 1h 24m | 294 MB

Learn idiomatic, efficient, clean, and extensible Go design and concurrency patterns by using TDD

Go is a multi-paradigm programming language that has built-in facilities for creating concurrent applications. Design patterns allow developers to efficiently address common problems faced during developing applications.

The focus in this course is on learning about concurrent structures and parallel execution. You will use the majority of Go primitives to write concurrent apps, and we will develop some classical design patterns with concurrent structures to maximize parallelism. Also, you will learn some typical structures with which to develop concurrent apps in Go. You will learn how a classical pattern can become more complex if you need it to work in a concurrent way; however, the idea is to understand Go concurrent primitives so that you know how to write your own concurrent design patterns by using the knowledge taken from the course.

What You Will Learn

  • Encapsulate the creation of complex objects in an idiomatic way in Go
  • Learn most Go primitives and write concurrent apps
  • Develop some classical design patterns with concurrent structures to maximize parallelism
  • Understand the importance of object encapsulation to provide clarity and maintainability
  • Prepare cost-effective actions so that different parts of the program aren’t affected by expensive tasks
  • Deal with channels and GoRoutines within the Go context to build concurrent applications in Go in an idiomatic way
Table of Contents

Introduction to Go Concurrency
The Course Overview
Defining Concurrency
Goroutines
Callbacks
Mutexes
Channels
Using It all – Concurrent Singleton

Barrier, Future, and Pipeline Design Patterns
Barrier Concurrency Pattern
Future Design Pattern
Pipeline Design Pattern