Hands-on Concurrency with Go

Build better software faster with concurrency in Go

Ratings: 4.37 / 5.00




Description

This course presents you a hands-on look at creating concurrent and parallel programs using the Go programming language. From a blazing-fast garbage-collected memory model to effortless, lightweight Goroutines to speedy communication using in-memory channels, Go makes powerful concurrency primitives available which are unparalleled in other languages. This course provides you with both the theoretical and practical knowledge you will need to apply them to your own software.

This course covers the basics of concurrency and parallelism in Go, along with in-depth looks at the three types of concurrent and parallel program models and an introduction to concurrent architecture. This course will show you the multitude of tools available in Go for implementing concurrent systems, including goroutines, blocking channels, buffered channels, and non-blocking in-memory communication.You will build multiple concurrent applications and examine the benefits and drawbacks of the various concurrency options available.

By the end of the course, you will be able to rapidly and confidently identify concurrent and parallel problems and apply the Go language concurrency constructs to solve them.   

About the Author

Leo Tindall is a software developer and hacker from San Diego whose interests include scalability, parallel software, and machine learning.

What You Will Learn!

  • Theory of concurrency and parallelism
  • How to use Goroutines to implement concurrent systems
  • The Go memory sharing model with channels
  • The importance of I/O concurrent design for high-performance software
  • How to improve performance by recognizing and exploiting inherent data parallelism
  • Techniques for improving your software’s architecture with the “gopher” model
  • Best practices for building concurrent systems in Go

Who Should Attend!

  • This course is for developers who want to get to grips with concurrency techniques with Go.