4 ms·
As said by @laserbeam there is no implementation of concurrency built-in Zig language, just primitives. There is one event loop in the stdlib, but it has some
by fbouvier 4y ago
As said by @laserbeam there is no implementation of concurrency built-in Zig language, just primitives.
There is one event loop in the stdlib, but it has some limitations and there is some discussion to change it or remove it https://github.com/ziglang/zig/issues/8224 https://github.com/ziglang/zig/issues/8224
Some Zig libraries implementing an event loop:
- libxev by Mitchell Hashimoto
https://github.com/mitchellh/libxev https://github.com/mitchellh/libxev
- one from the Tigerbeetle DB
https://github.com/tigerbeetledb/tigerbeetle/tree/main/src/io https://github.com/tigerbeetledb/tigerbeetle/tree/main/src/i...
They both use kernel concurrency features (io_uring/epool on Linux, kqueue on MacOS).
They are quite low level and do not implement a lightweight threading model comparable to Go concurrency.