Disclosure: when you buy through links on our site, we may earn an affiliate commission.

Working with Concurrency in Go (Golang)

Learn the advantages and pitfalls of concurrent programming with the Go programming language
4.9
4.9/5
(12 reviews)
550 students
Created by

9.6

CourseMarks Score®

10.0

Freshness

8.9

Feedback

9.4

Content

Platform: Udemy
Video: 9h 36m
Language: English
Next start: On Demand

Top Go (programming language) courses:

Detailed Analysis

CourseMarks Score®

9.6 / 10

CourseMarks Score® helps students to find the best classes. We aggregate 18 factors, including freshness, student feedback and content diversity.

Freshness Score

10.0 / 10
This course was last updated on 5/2022.

Course content can become outdated quite quickly. After analysing 71,530 courses, we found that the highest rated courses are updated every year. If a course has not been updated for more than 2 years, you should carefully evaluate the course before enrolling.

Student Feedback

8.9 / 10
We analyzed factors such as the rating (4.9/5) and the ratio between the number of reviews and the number of students, which is a great signal of student commitment.

New courses are hard to evaluate because there are no or just a few student ratings, but Student Feedback Score helps you find great courses even with fewer reviews.

Content Score

9.4 / 10
Video Score: 9.0 / 10
The course includes 9h 36m video content. Courses with more videos usually have a higher average rating. We have found that the sweet spot is 16 hours of video, which is long enough to teach a topic comprehensively, but not overwhelming. Courses over 16 hours of video gets the maximum score.
Detail Score: 9.6 / 10

The top online course contains a detailed description of the course, what you will learn and also a detailed description about the instructor.

Extra Content Score: 9.5 / 10

Tests, exercises, articles and other resources help students to better understand and deepen their understanding of the topic.

This course contains:

0 article.
77 resources.
0 exercise.
0 test.

Table of contents

Description

Go, often referred to as Golang, is well-known for making it remarkably easy to work with concurrency. In order to make a particular function run concurrently, all we have to do is prepend the word “go” to the function call, and it cheerfully runs in the background, as a GoRoutine. Go’s built in scheduler takes are of making sure that a given GoRoutine runs when it should, and as efficiently as it can.
However, this does not mean that working with concurrency is simple in Go—thread safe programming takes careful planning, and most importantly it requires that developers have an absolutely solid understanding of how Go deals with concurrency.
In the standard library, Go offers us several ways of dealing with concurrently running parts of our program, right in the standard library: sync.WaitGroup, which lets us wait for tasks to finish; sync.Mutex, which allows us to lock and unlock resources, so that no two GoRoutines can access the same memory location at the same time; and finally, Channels, which allow GoRoutines to send and receive data to and from each other.
Go’s approach to concurrency is fairly straightforward, and is more or less summed up this mantra: Don’t communicate by sharing memory; instead, share memory by communicating. Channels are the means by which we usually share memory by communicating.
In this course, we’ll cover the use of WaitGroups, Mutexes, and Channels, and we’ll do so in detail. We’ll also cover some of the problems inherent in concurrency, including early program termination and race conditions. Initially, we’ll gain a good understanding of how these things work by solving some of the classic problems found in the field of computer science, including the Dining Philosophers, the Producer/Consumer problem, and the Sleeping Barber. These problems are classics for a reason: they force a developer to figure out the best approach to working with code that run concurrently, or in parallel.
Finally, we’ll finish the course out with a more “real-world” problem, where we have to register a customer for some kind of subscription service, and take care of invoicing, registration, and all the things necessary to get a new customer up and running. We’ll do so, naturally, as quickly as we can by dividing the necessary tasks up into smaller tasks, and having them run concurrently.

You will learn

✓ Learn about the various ways Go makes working with concurrent programing simple
✓ Understand how concurrency works, and its advantages and pitfalls
✓ Learn how WaitGroups, Mutexes, and channels work
✓ Master concurrency by working with classic computer science problems, and by building a real-world example

Requirements

• A good understanding of the Go programming language
• A Windows, Macintosh, or Linux computer with a connection to the Internet

This course is for

• Go programmers who want to understand how Go works with concurrent programming

How much does the Working with Concurrency in Go (Golang) course cost? Is it worth it?

The course costs $14.99. And currently there is a 63% discount on the original price of the course, which was $39.99. So you save $25 if you enroll the course now.

Does the Working with Concurrency in Go (Golang) course have a money back guarantee or refund policy?

YES, Working with Concurrency in Go (Golang) has a 30-day money back guarantee. The 30-day refund policy is designed to allow students to study without risk.

Are there any SCHOLARSHIPS for this course?

Currently we could not find a scholarship for the Working with Concurrency in Go (Golang) course, but there is a $25 discount from the original price ($39.99). So the current price is just $14.99.

Who is the instructor? Is Trevor Sawler a SCAM or a TRUSTED instructor?

Trevor Sawler has created 12 courses that got 4,460 reviews which are generally positive. Trevor Sawler has taught 27,393 students and received a 4.7 average review out of 4,460 reviews. Depending on the information available, Trevor Sawler is a TRUSTED instructor.
Ph.D.
I have twenty years of experience in professional software development, and twenty years of experience as a University professor.
As an entrepreneur, I have worked with a broad range of clients, including Thomson Nelson, Hewlett Packard, the Royal Bank of Canada, Keybank, Sprint, and many, many others. I also have extensive management and project management experience. I have led teams of fifty developers and artists on multi-million dollar projects, and much smaller teams on much smaller projects.
As a professor, I have taught in a wide variety of course areas, including Computer Science, English, Irish, and American literature, and a number of “crossover” courses that bridge the liberal arts and technological fields.
I have won regional, national, and international awards for my work in the IT field, and have also won awards for my teaching and research as a University professor.

9.6

CourseMarks Score®

10.0

Freshness

8.9

Feedback

9.4

Content

Platform: Udemy
Video: 9h 36m
Language: English
Next start: On Demand

Students are also interested in

Review widget (for course creators):

Working with Concurrency in Go (Golang) rating
Code for the widget (just copy and paste it to your site):
<a href="https://coursemarks.com/course/working-with-concurrency-in-go-golang/" target="_blank" title="Working with Concurrency in Go (Golang) on Coursemarks.com"><img border="0" src="https://coursemarks.com/widget/96.svg" width="200px" alt="Working with Concurrency in Go (Golang) rating"/></a>