CSP stands for Communicating Sequential Processes, a model to coordinate concurrency that was described by Richard Hoare in a book of the same name from 1978.
CSP is based on two main primitives: processes and channels.
It alludes to an entity in the code designed to fulfill a specific task, a piece of code that can complete a unit of work independently.
ES2017 took to us async functions, which correspond to the above description. Their execution can be paused thanks to the await keyword, therefore this type of function can be run concurrently faking threads.
CSP says that processes cannot share memory. What if they need to communicate with each other?
In such case channels come into action!