Concurrent and Parallel Programming

Get an introduction to concurrent and parallel programming, especially in the context of Clojure programming

History

The computing world has been evolving really fast. In recent years, computer processors have significantly improved, with new multicore processors being created all the time. We passed from a single core to 16 cores being common in a personal computer—and this is just escalating. That means modern hardware comes packed with a lot of power that our software knowledge and coding skills can make great use of.

To make this possible, the ideas of concurrent and parallel programming were created and then adapted by each programming language. This has become a requirement for anyone who wants their code working in the best way it can and with the best processing time. These ideas are directly related to structuring our applications to safely manage multiple, simultaneously executing tasks.

Concurrency and parallelism

Concurrency is when we need to manage more than one task simultaneously. In this context, a task means an action we need to get done; it might be a whole processing flow or a single functionality that’s not required in the main flow.

Get hands-on with 1200+ tech skills courses.