IsolateFlutter
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.
Usage
Create and start an isolate
final _value = await IsolateFlutter.createAndStart(_testFunction, 'Hello World');
print(_value);
Create and manager an isolate (not run immediately)
-
Create an isolate:
IsolateFlutter _isolateFlutter = await IsolateFlutter.create(_testFunction, 'Hello World');
-
Start and get the value returned by _testFunction
final _value = await _isolateFlutter.start(); print(_value);
-
Pause a running isolate
_isolateFlutter.pause();
-
Resume a paused isolate
_isolateFlutter.resume();
-
Stop and dispose a an isolate
_isolateFlutter.stop();
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';
}
Author
IsolateFlutter is developed by Thong Dang. You can contact me at thongdn.it@gmail.com
If you like my project, you can support me or star (like) for it.
Thank you! ❤️