Booking options
£44.99
£44.99
On-Demand course
2 hours 12 minutes
All levels
Get ready to tackle one of the most exciting and prominent features of the Go language with the help of this comprehensive course. If you are looking forward to getting started with advanced topics such as concurrency and levelling up your Go(lang) skills, then you are in the right place.
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-
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
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.
This short hands-on course covers all the essentials of concurrency - theory, syntax, coding examples, and downloadable copies of all visual materials.
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
https://github.com/PacktPublishing/Up-and-Running-with-Concurrency-in-Go-Golang-
Stan Vangilder earned a Bachelor of Science in Electrical and Computer Engineering from the Georgia Institute of Technology, and later, a Master of Science in Management of Technology. Throughout his career at a Fortune 150 company, he was an early adopter of technology and became a frequent speaker, trainer, coach and consultant for large and small audiences inside and outside the company. Stan is now taking his passion for learning and teaching public with the creation of UPnRunning, offering online courses to simplify complex topics for quick and efficient adoption into your own projects and workflows.
1. Welcome and Course Overview
1. Welcome to the Course This video explains the course. |
2. Course Introduction This video introduces you to the course. |
3. Quick Concurrency Demo This video demonstrates an example in Go and what concurrency can do for you. |
4. Course Structure This video explains the entire course structure. |
2. Understanding Concurrency - Trends, Benefits, and Challenges
1. Everyday Concurrency This video explains multitasking in our everyday life using concurrency. |
2. Understanding the Terminology This video explains the meaning of synchronous. |
3. Trend #1 - Latency This video explains the trend of increasing latency with increased use of cloud apps and APIs. |
4. Trend #2 - Multiple CPU Cores The video explains the second trend of multiple CPU cores. |
5. Summary of Benefits and Challenges The video provides a summary of the benefits and challenges of concurrency. |
3. Setting Up Your Custom Development Environment
1. Installing Go, Course Resources and Your IDE This video introduces you to installing Go, course resources and your IDE |
2. Using Multiple Screens and Other Physical Considerations This video explains how to use multiple screens and other physical considerations. |
4. Creating Your First Goroutine
1. Let Us Try It This video introduces you to the first Goroutine code. |
5. Understanding Blocking Code
1. What Exactly Does "Blocking" Mean? This video introduces you to what blocking means. |
6. Using Wait Groups to Track Goroutine Status
1. Wait Groups Overview This video introduces you to wait group syntax overview. |
2. Coding Example This video introduces you to an example of wait groups. |
7. Using Channels to Communicate with Goroutines
1. Purpose and Syntax Overview This video introduces you to the purpose of channel and its syntax. |
2. Using Channels in Our Code This video demonstrates how to use channels with an example. |
3. Using Channels to Synchronize Goroutines This video demonstrates the use of channels to synchronize Goroutines. |
4. Q&A: Why and How to Use Wait Groups in Sync3 and Sync4? This video explains how to use wait groups in sync3 and sync4. |
8. Understanding IO-Bound Versus CPU-Bound Processes
1. Introduction to IO-Bound Versus CPU-Bound This video introduces you to IO-bound versus CPU-bound processes. |
2. CPU-Bound Demos This video demonstrates CPU-bound process. |
3. IO-Bound Demos This video demonstrates the IO-bound process. |
4. IO-Bound Versus CPU-Bound Summary This video summarizes IO-bound versus CPU-bound process. |
9. Race Conditions: Mutexes, Condition, and Atomic Variables
1. Introduction to Race Condition - Demo This video demonstrates Race condition with a real-world example. |
2. Race Condition Introduction This video introduces you to Race condition. |
3. Race Condition Solutions - Mutex, Atomic Variables This video introduces you to mutex and its syntax. |
4. Race Condition Solution Demo This video demonstrates Race conditions. |
5. Condition Variables Demo This video demonstrates condition variables. |
10. Concurrency Patterns
1. Worker Pools Introduction This video introduces you to worker pools using a real-world example. |
2. Worker Pools Demo This video demonstrates worker pools with the help of a code. |