Understand Go’s concurrency features and their tradeoffs
Identify the types of concurrent problems and how to tackle them most effectively
Apply the Go language to solve programming problems
Description
This course presents you a hands-on look at creating concurrent and parallel programs using the Go programming language. From a blazing-fast garbage-collected memory model to effortless, lightweight Goroutines to speedy communication using in-memory channels, Go makes powerful concurrency primitives available which are unparalleled in other languages. This course provides you with both the theoretical and practical knowledge you will need to apply them to your own software.
This course covers the basics of concurrency and parallelism in Go, along with in-depth looks at the three types of concurrent and parallel program models and an introduction to concurrent architecture. This course will show you the multitude of tools available in Go for implementing concurrent systems, including goroutines, blocking channels, buffered channels, and non-blocking in-memory communication.You will build multiple concurrent applications and examine the benefits and drawbacks of the various concurrency options available.
By the end of the course, you will be able to rapidly and confidently identify concurrent and parallel problems and apply the Go language concurrency constructs to solve them.
The code bundle for this video course is available at: https://github.com/PacktPublishing/Hands-on-Concurrency-with-Go-video
Who is this book for?
This course is for developers who want to get to grips with concurrency techniques with Go. We assume that they are acquainted with coding with Go We assume that they’re well-versed with Golang basics as we won’t be covering any programming basics in the course if you want to code for anything but the smallest, weakest systems with Go, this course is for you.
What you will learn
Theory of concurrency and parallelism
How to use Goroutines to implement concurrent systems
The Go memory sharing model with channels
The importance of I/O concurrent design for high-performance software
How to improve performance by recognizing and exploiting inherent data parallelism
Techniques for improving your software’s architecture with the “gopher” model
Best practices for building concurrent systems in Go
How can I download a video package for offline viewing?
Login to your account at Packtpub.com.
Click on "My Account" and then click on the "My Videos" tab to access your videos.
Click on the "Download Now" link to start your video download.
How can I extract my video file?
All modern operating systems ship with ZIP file extraction built in. If you'd prefer to use a dedicated compression application, we've tested WinRAR / 7-Zip for Windows, Zipeg / iZip / UnRarX for Mac and 7-Zip / PeaZip for Linux. These applications support all extension files.
How can I get help and support around my video package?
If your video course doesn't give you what you were expecting, either because of functionality problems or because the content isn't up to scratch, please mail customercare@packt.com with details of the problem. In addition, so that we can best provide the support you need, please include the following information for our support team.
Video
Format watched (HTML, MP4, streaming)
Chapter or section that issue relates to (if relevant)
System being played on
Browser used (if relevant)
Details of support
Why can’t I download my video package?
In the even that you are having issues downloading your video package then please follow these instructions:
Disable all your browser plugins and extensions: Some security and download manager extensions can cause issues during the download.
Download the video course using a different browser: We've tested downloads operate correctly in current versions of Chrome, Firefox, Internet Explorer, and Safari.