Lately, I have been confusing asynchronous programming with parallel programming, despite my making it clear that they are not the same.
Asynchronous programming is about retrieving information at a later time, assuming that you are currently not busy. In other words, if you are waiting for the information, it will be available.
Parallel programming performs multiple different tasks at the same time. There is no need to wait to finish a task while working on another. Dart uses Isolates to perform parallel programming. We will not review that at this time, as it is quite advanced, but I just wanted to be clear on the difference.