FLimitIsolate extension

Extension on FLimit to support running tasks in a separate isolate

This extension provides the isolate method which allows running computationally heavy tasks in a separate isolate while respecting the concurrency limit.

Example:

final limit = fLimit(2);

// Run heavy computation in isolate
final result = await limit.isolate(() {
  int sum = 0;
  for (int i = 0; i < 1000000; i++) {
    sum += i;
  }
  return sum;
});

// With priority
await limit.isolate(() => heavyTask(), priority: 10);
on

Methods

isolate<T>(FutureOr<T> computation(), {int priority = 0, Duration? timeout, TaskTimeouts? timeouts, RetryPolicy? retry}) → TaskHandle<T>

Available on FLimit, provided by the FLimitIsolate extension

Executes a computation in a separate isolate with concurrency limit