Avoiding blocking on async operations by providing sync counterparts.

Fixes #374
If cancellation is requested wouldn't you want to abandon running the accumulated tasks and just return 0 immediately?