isolate_supervisor 1.0.2 copy "isolate_supervisor: ^1.0.2" to clipboard
isolate_supervisor: ^1.0.2 copied to clipboard

discontinued

This library constructs higher-level isolate interfaces on top of the lower level dart:isolate library.

example/isolate_supervisor_example.dart

import 'package:isolate_supervisor/isolate_supervisor.dart';

void main() async
{
  final supervisor = IsolateSupervisor();

  final result = await supervisor.compute(fibEntryPoint, [42]);
  print(result);

  final results = supervisor.launch(streamEntryPoint, [42]);
  await for (final result in results) {
    print(result);
  }

  await supervisor.dispose();
}

int fibEntryPoint(IsolateContext context)
{
  int n = context.arguments.nearest();

  int fib (int n)
  {
    if (n < 2) return n;
    return fib(n - 2) + fib(n - 1);
  };

  return fib(n);
}

Stream<num> streamEntryPoint(IsolateContext context) async*
{
  int timeout = context.arguments.nearest();
  final duration = Duration(milliseconds: timeout);

  yield timeout;
  yield await Future.delayed(duration, () => timeout * timeout);
}
4
likes
40
pub points
0%
popularity

Publisher

unverified uploader

This library constructs higher-level isolate interfaces on top of the lower level dart:isolate library.

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

More

Packages that depend on isolate_supervisor