Concurrency, which roughly means doing more than one thing at the same time, is among the most difficult topics in software development. In this chapter, we first discuss the importance of parallelism. Then we look into a basic mechanism for asynchronous code in Dart—Futures. Finally, the majority of the chapter will be spent on Dart’s Isolates, a tool for doing work in parallel. The aim is to present simple, practical means of incorporating concurrency into your code, rather than delving into the nitty-gritty of this complex topic.
The Hardware Impetus for Parallelism
As recently as a decade ago, most microprocessors could ...