- MODULE 1: Why Use Concurrency?
- This course introduces the concept of concurrency in Go. The first module sets the stage by reviewing the physical factors that can restrict microprocessor performance increases in the future.
- MODULE 2: CONCURRENCY BASICS
- This module looks at basic concurrency concepts and race conditions in preparation for a discussion of threads coming up in the next module.
- MODULE 3: THREADS IN GO
- In this module, you’ll work with threaded goroutines and explore the benefits of synchronization. The week’s assignment has you using a threaded approach to create a program that sorts integers via four separate sub-arrays, then merging the arrays into a single array.
- MODULE 4: SYNCHRONIZED COMMUNICATION
- This last module ties together the various features – including threads, concurrency, and synchronization – covered in this course. The week’s programming assignment requires you to use concurrent algorithms in the implementation of the “dining philosopher’s problem and then address the ensuing synchronization issues.