In the beginner friendly course we will learn about the Concurrency & Parallelism in Flutter and Dart. We will get started with a beginner friendly topic and slowly move to more advance topic, by the end of this course you will be confident in using Concurrency & Parallelism in you own Flutter app.
You must have a basic knowledge on Flutter and Dart development to understand this course clearly, if you have never written a Flutter and Dart course this course is not for you.
Dart supports concurrent programming with async-await, isolates, and classes such as Future and Stream. This page gives an overview of async-await, Future, and Stream, but it’s mostly about isolates.
Within an app, all Dart code runs in an isolate. Each Dart isolate has a single thread of execution and shares no mutable objects with other isolates. To communicate with each other, isolates use message passing. Many Dart apps use only one isolate, the main isolate. You can create additional isolates to enable parallel code execution on multiple processor cores.
Although Dart’s isolate model is built with underlying primitives such as processes and threads that the operating system provides, the Dart VM’s use of these primitives is an implementation detail that this page doesn’t discuss.