Io module

Wait_Group

structextensionexperimentalSource

Waits for a number of tasks, as many as were added and have not yet been done.

Example↗
Io :: #import "Extensions/Io";

Io.io_run(() {
    group: Io.Wait_Group;

    for 1..3 {
        Io.add(*group);
        Io.spawn((group: *Io.Wait_Group) {
            Io.sleep(1);
            Io.done(group);
        }, *group);
    }

    assert(Io.wait(*group) == .NONE); // returns once all three are done
});

Fields

count: s64
waiters: Waiter

See also