Skip to content

Doc wording: use “concurrent” instead of “parallel” in Future.wait extensions #902

Open

Description

@HasanAlqaisi

The current documentation for FutureIterable.wait and the record extensions (e.g. FutureRecord2.wait, FutureRecord3.wait, etc.) states that they "Wait for futures in parallel."

Example from docs: future.dart & future_extensions

/// Waits for futures in parallel.

This wording is technically inaccurate.

Concurrency: multiple tasks are in progress at the same time, but may be interleaved on a single thread (as Dart Futures are, running on the event loop).

Parallelism: multiple tasks are executing simultaneously on multiple CPU cores.

In Dart, unless isolates are explicitly used, futures do not run in parallel; they run concurrently.

Why this matters:

Developers new to async may assume Dart is running their futures on multiple CPU cores, which is misleading.

Using “concurrent” is more precise, while still being understandable to most readers.

Proposed fix:

Update doc comments in dart:async extensions to say something like:

/// Waits for all futures to complete concurrently.

This keeps the intent clear while avoiding the incorrect use of “parallel.”

Activity

  1. lrhn commented on Sep 1, 2025

    @lrhn
    Member

    That does appear to be the accepted terminology.
    Parallelism implices concurrency, but not the other way, and Dart only has concurrency inside a single isolate, not parallelism (not of Dart code at least).

    (I'm used to Java where "concurrency" is used about multithreading, which is technically correct. It might also be parallelism.)

  2. xlkv commented on May 3, 2026

    @xlkv

    This wording is actually in dart-lang/sdk, not package:async

  3. lrhn commented on Jun 3, 2026

    @lrhn
    Member

    It's probably everywhere. I'm, if nothing else, consistent 😉 .

  4. added
    good first issueA good starting issue for contributors (issues with this label will appear in /contribute)
    on Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    good first issueA good starting issue for contributors (issues with this label will appear in /contribute)package:asynctype-documentationA request to add or improve documentation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions