• Professional Development
  • Medicine & Nursing
  • Arts & Crafts
  • Health & Wellbeing
  • Personal Development

Course Images

Up and Running with Concurrency in Go (Golang)

Up and Running with Concurrency in Go (Golang)

  • 30 Day Money Back Guarantee
  • Completion Certificate
  • 24/7 Technical Support

Highlights

  • On-Demand course

  • 2 hours 12 minutes

  • All levels

Description

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-

What You Will Learn

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

Audience

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.

Approach

This short hands-on course covers all the essentials of concurrency - theory, syntax, coding examples, and downloadable copies of all visual materials.

Key Features

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

Github Repo

https://github.com/PacktPublishing/Up-and-Running-with-Concurrency-in-Go-Golang-

About the Author
Stan Vangilder

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.

Course Outline

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.

Course Content

  1. Up and Running with Concurrency in Go (Golang)

About The Provider

Packt
Packt
Birmingham
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and i...
Read more about Packt

Tags

Reviews