# std.Io.Threaded: slightly different semantics · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/cf744aa182cf3a7c4738c43f5b1fcf6c280aa74f)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: cf744aa182cf3a7c4738c43f5b1fcf6c280aa74f

Requested commit: cf744aa182cf3a7c4738c43f5b1fcf6c280aa74f

Commit: cf744aa182cf3a7c4738c43f5b1fcf6c280aa74f

Tree: d8703b12d47b93216a8128c846a8cb33810bea8a

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
std.Io.Threaded: slightly different semantics

while still preserving the guarantee about async() being assigned a unit
of concurrency (or immediately running the task), this change:
* retains the error from calling getCpuCount()
* spawns all threads in detached mode, using WaitGroup to join them
* treats all workers the same regardless of whether they are processing
  concurrent or async tasks. one thread pool does all the work, while
  respecting async and concurrent limits.

```

## Parents

- [13b537d77c07101a9dcb41e0839df1213ca8dd1d](https://git.cafe/gitcafe/zig/commit/13b537d77c07101a9dcb41e0839df1213ca8dd1d?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/cf744aa182cf3a7c4738c43f5b1fcf6c280aa74f?format=markdown)
