go 1.0.6 copy "go: ^1.0.6" to clipboard
go: ^1.0.6 copied to clipboard

Dart 1 only

Simplest API to multi process using isolates.

go #

Pub Gitter

Seamlessly launch isolates to perform side jobs.

Parallelize a task #

import 'package:go/go.dart';

int twice(int a) => a * 2;

main() async {
  print(await go(twice, 5));
}

Convert a task to remote task #

import 'package:go/go.dart';

int twice(int a) => a * 2;

main() async {
  Task twiceTask = remoteTask(twice);
  print(await twiceTask(5));
}

Parallel map of Iterable #

import 'package:go/go.dart';

int twice(int a) => a * 2;

main() async {
  print(await goMap(twice, new List.generate(10, (int d) => d + 1)));
}

Same task many times #

Executes same task many times with same parameters.

int twice(int a) => a * 2;

main() async {
  print(await goMany(twice, 5, 20));
}

Herd a group #

int twice(int a) => a * 2;

main() async {
  final Herd<int, int> many = await herd(twice, 5);
  print(await many.execSame(5));
  print(await many.exec([10, 11, 12, 13, 14]));
  await many.shutdown();
}
0
likes
30
pub points
59%
popularity

Publisher

unverified uploader

Simplest API to multi process using isolates.

Repository (GitHub)
View/report issues

License

BSD-3-Clause (LICENSE)

Dependencies

async

More

Packages that depend on go