Get Free Shipping on orders over $89
Learn Concurrent Programming with Go - James Cutajar

Learn Concurrent Programming with Go

By: James Cutajar

Hardcover | 9 January 2024

At a Glance

Hardcover


$148.99

or 4 interest-free payments of $37.25 with

 or 

Available for Backorder. We will order this from our supplier however there isn't a current ETA.

Concurrency doesn't need to be confusing. Start writing concurrent code that improves performance, scales up to handle large volumes of data, and takes full advantage of modern multi-processor hardware.

Too many developers think concurrency is extremely challenging. Learn Concurrent Programming with Go is here to prove them wrong This book uses the easy-to-grasp concurrency tools of the Go language to demonstrate principles and techniques, steadily teaching you the best practices of effective concurrency. Techniques learned in this book can be applied to other languages.

In Learn Concurrent Programming with Go you will learn how to:

  • Implement effective concurrency for more responsive, higher performing, scalable software
  • Avoid common concurrency problems such as deadlocks and race conditions
  • Manage concurrency using goroutines, mutexes, readers-writer locks, and more
  • Identify concurrency patterns such as pipelining, worker pools, and message passing
  • Discover advantages, limits, and properties of parallel computing
  • Improve your Go coding skills with advanced multithreading topics

Concurrent programming allows multiple tasks to execute and interact simultaneously, speeding up performance and reducing user wait time. In Learn Concurrent Programming with Go, you'll discover universal principles of concurrency, along with how to use them for a performance boost in your Go applications. Expert author James Cutajar starts with the basics of modeling concurrency in your programs, demonstrates differences between message passing and memory sharing, and even introduces advanced topics such as atomic variables and futexes.

Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications.

About the technology

You can improve almost any application's performance and responsiveness by introducing concurrency into the codebase. This book will show you how It starts with the basics of concurrent programming and builds your skills step by step by exploring scenarios you'll face every day as a developer. Author James Cutajar explains each aspect of concurrency in plain language using the intuitive features baked into the Go language.

About the book

Learn Concurrent Programming with Go provides a practical, hands-on introduction to creating software for modern multiprocessor systems. In it, you'll learn how to divide larger programming tasks into independent parts that can run simultaneously. You'll use the Go language to implement common concurrency patterns by utilizing readers-writer locks, semaphores, message passing, and memory sharing. The skills you learn will easily transfer to other languages.

What's inside

  • Prevent deadlocks and race conditions
  • Go concurrency features like goroutines, mutexes, channels, and more
  • Concurrency patterns including pipelining and worker pools

About the reader

For programmers with basic knowledge of Go or another C-style language. No experience in concurrent programming required.

About the author

James Cutajar has been programming for more than 20 years. He's an open source contributor, blogger, tech evangelist, Udemy instructor, and author.

Table of Contents

PART 1 FOUNDATIONS
1 Stepping into concurrent programming
2 Dealing with threads
3 Thread communication using memory sharing
4 Synchronization with mutexes
5 Condition variables and semaphores
6 Synchronizing with waitgroups and barriers
PART 2 MESSAGE PASSING
7 Communication using message passing
8 Selecting channels
9 Programming with channels
PART 3 MORE CONCURRENCY
10 Concurrency patterns
11 Avoiding deadlocks
12 Atomics, spin locks, and futexes

More in Software Engineering

The Essence of Software Engineering - Cersei Page
Site Reliability Engineering : How Google Runs Production Systems - Betsy Beyer
Building Microservices : Designing Fine-Grained Systems 2nd Edition - Sam Newman
C# 12 in a Nutshell : The Definitive Reference - Joseph Albahari

RRP $133.00

$64.75

51%
OFF
Design Patterns : Elements of Reusable Object-Oriented Software - Erich Gamma
Developing Graphics Frameworks with Java and OpenGL - Lee Stemkoski
Arduino For Dummies : Blackwell Philosophy Anthologies - John Nussey
Hacking For Dummies : For Dummies (Computer/Tech) - Kevin Beaver

RRP $49.95

$36.75

26%
OFF
Coding All-in-One For Dummies : 2nd Edition - Chris Minnick

RRP $69.95

$46.99

33%
OFF
Architectural Approach to Level Design : Second edition - Christopher W.  Totten
The Art of Spyro : Reignited Trilogy - Micky Nielson

RRP $75.00

$55.75

26%
OFF
C# 12 Pocket Reference : Instant Help for C# 12 Programmers - Joseph Albahari
Go Cookbook : Expert Solutions for Commonly Needed Go Tasks - Sau Sheong Chang
Typescript Cookbook : Real World Type-Level Programming - Stefan Baumgartner
The Engineering Leader : Strategies for Scaling Teams and Yourself - Cate Huston