Post Thumbnail

Автор разбирает устройство std.Io.Threaded в Zig - реализации интерфейса ввода-вывода, которая использует обычные блокирующие системные вызовы и потоки, но при этом полноценно поддерживает отмену операций.

Фокус на различии между параллелизмом и конкурентностью. Проблема "просто использовать потоки" в том, что нет способа прервать заблокированный в ядре поток. Zig решает это на POSIX через сигналы: отменяющий поток выставляет флаг в разделяемой памяти и циклически посылает сигнал целевому потоку, пока тот не получит EINTR и не проверит флаг, аккуратно сворачивая работу через error.Canceled

Похожее

Post Thumbnail

Zig на примерах

Это интерактивное введение в язык Zig через примеры программ, оформленное в стил...

Post Thumbnail

SIMD для всех

Митчелл Хашимото утверждает, что SIMD незаслуженно считается сложным. Он на ...