IsolateFlutter is a useful package for you who want to make and manage Isolate. It is based on dart:isolate so it only support iOS and Android.

It's like compute(): Spawn an isolate, run callback on that isolate, passing it message, and (eventually) return the value returned by callback. But it not top-level constant so you can create multiple Isolates at the same time.


Create and start an isolate

final _value = await IsolateFlutter.createAndStart(_testFunction, 'Hello World');

Create and manager an isolate (not run immediately)

  1. Create an isolate:

    IsolateFlutter _isolateFlutter = await IsolateFlutter.create(_testFunction, 'Hello World');
  2. Start and get the value returned by _testFunction

    final _value = await _isolateFlutter.start();
  3. Pause a running isolate

  4. Resume a paused isolate

  5. Stop and dispose a an isolate


Example test function

static Future<String> _testFunction(String message) async {
    Timer.periodic(Duration(seconds: 1), (timer) => print('$message - ${timer.tick}'));
    await Future.delayed(Duration(seconds: 30));
    return '_testFunction finish';


IsolateFlutter is developed by Thong Dang. You can contact me at

If you like my project, you can support me Buy Me A Coffee or star (like) for it.

Thank you! ❤️