Member-only story

The power of Concurrency in Go

A short introduction to the concepts Go uses to encounter the problems of developing concurrent applications.

Patrick Krukenfellner
4 min readMar 11, 2020

Go offers a variety of powerful features, especially talking about the communication between applications. It serves built-in support for networking, client-server apps and distributed computing.

This article will provide you with some insight on the paradigms Go uses to encounter the problems of concurrent app development.

Concurrency vs. Parallelism

First of all, what is Concurrency? It is the ability to perform multiple tasks at the same time, without affecting the final outcome. But you might also have heard the term Parallelism in this context, since Concurrency is often called Parallelism, even though there is a slight difference between those two terms.

Parallelism on the other hand, requires Hardware with multiple processing units, so multiple tasks can be executed at the same time, where one core is assigned to perform one sub-task.

So in a nutshell, Concurrency only allows for parallel execution of specific concurrent units, without affecting the final result, whereas Parallelism physically runs multiple tasks at the same time using multi-core architecture.

--

--

Patrick Krukenfellner
Patrick Krukenfellner

Written by Patrick Krukenfellner

Co-Founder & Head of Solution Architecture at ACONIO, where we provide cutting-edge automation solutions using Robotic Process Automation.

No responses yet