-
Gain a deeper understanding of what concurrency is in Golang and how it is related to our daily life
-
Explore various Go(lang) terminologies along with examples
-
Understand Installation process of the Go compiler and write your first code
According to the most recent developer surveys, Go(lang) is one of the world’s most desired and loved languages, and its developers are among the highest paid in the world. Go is also the top language that companies are planning to migrate to, meaning that your Go skills are future proof for many years to come.
Concurrency is a very advanced topic within Golang, and some comprehensive Go courses do not address it at all. Yet, we believe that with just a reasonable number of hours of effort, you can be on your way, comfortable with concurrency, and ready to add asynchronous features to your next programming project.
In this course, we will cover Concurrency theory, terminology, trends, benefits, and challenges. The difference between concurrency and parallelism/parallel programming. We will also explore Goroutines, blocking code, wait groups and channels, IO bound vs CPU bound code with examples of each, Race conditions, Mutexes, condition variables, atomic variables, concurrency patterns.
By the end of this course, you will gain an in-depth understanding of the fundamentals of Go concurrency and will be able to implement it in your future projects.
All resources and code files are placed: https://github.com/PacktPublishing/Up-and-Running-with-Concurrency-in-Go-Golang-
This course is for anyone getting started with concurrency and specifically within the Go programming language. Also, for those who wish to learn the essentials of concurrent programming in the Go programming language.
There are no strict prerequisites, but knowledge of computer programming principles and specifically the Go language will be extremely helpful, especially for the coding exercises.
-
Learn about Concurrency theory, terminology, and parallels to everyday life
-
Learn about primitives such as wait groups and channels in Go language
-
Learn about I/O-bound versus CPU-bound processes
-
Explore concurrency patterns such as worker pools
-
Learn about race conditions and deadlocks
-
Understand mutexes, condition variables, atomic variables