Advanced Programming in Go: Concurrency
Concurrency is a critical component of modern software as it is capable of leveraging modern hardware advances. Concurrent applications can execute various parts of a program out of sequence while not affecting the final outcome of the program. This is often confused with parallelism which involves running multiple programs simultaneously. In this course youll explore the concept of concurrency by first considering sequential programming. With that foundation youll dive into multi-threaded programming and learn about the differences between concurrency and parallelism. Next youll examine Gos concurrency model and the concurrency primitives used in Go to build concurrent applications. Finally youll learn about concurrency patterns used in Go programming and how performance can be improved with concurrency.