Clone this repo:
  1. c9fa326 fix pedantic lints (#37) by Kevin Moore · 10 months ago master
  2. f7ca1d3 make private fields final (#34) by Kevin Moore · 1 year, 4 months ago
  3. 295ee24 Fix bug in `IsolateRunner.kill`. (#33) by Lasse R.H. Nielsen · 1 year, 5 months ago
  4. 5b5d218 3 cleanup commits (#31) by Kevin Moore · 1 year, 6 months ago
  5. 2d78b84 Delete analysis_options.yaml by Kevin Moore · 1 year, 7 months ago

Build Status

Helps with isolates and isolate communication in Dart. Requires the dart:isolate library being available. Isolates are not available for Dart on the web.

The package contains individual libraries with different purposes.

Creating send ports and responding to messages.

The “ports.dart” sub-library contains functionality for creating SendPorts and reacting to values sent to those ports.

Working with isolates and running functions in other isolates.

The “isolate_runner.dart” sub-library introduces an IsolateRunner class that gives easy access to the Isolate functionality, and also gives a way to run new functions in the isolate repeatedly, instead of just on the initial spawn call.

A central registry for values that can be used across isolates.

The “registry.dart” sub-library provides a way to create an object registry, and give access to it across different isolates.

Balancing load across several isolates.

The “load_balancer.dart” sub-library can manage multiple Runner objects, including IsolateRunner, and run functions on the currently least loaded runner.

Features and bugs

Please file feature requests and bugs at the issue tracker.