4 ms·
All the complexity is in libdill, which is written in C: http://libdill.org/ http://libdill.org/ ... which means they buried the lead pretty deeply, because l
by msla 7y ago
All the complexity is in libdill, which is written in C:
http://libdill.org/ http://libdill.org/
... which means they buried the lead pretty deeply, because libdill is an interesting little library: Structured Concurrency in C! From the FAQ:
http://libdill.org/faq.html http://libdill.org/faq.html
> How does libdill's concurrency differ from Go's concurrency?
> No interaction between threads. Each thread is treated as a separate process.
> Channels are always unbuffered.
> choose, unlike select, is deterministic. If multiple clauses can be executed, the clause closest to the beginning of the pollset wins.
> chdone signals the closing of a channel to both senders and receivers.
> Coroutines can be canceled.
And:
http://libdill.org/structured-concurrency.html http://libdill.org/structured-concurrency.html
> What is structured concurrency?
> Structured concurrency means that lifetimes of concurrent functions are cleanly nested. If coroutine foo launches coroutine bar, then bar must finish before foo finishes.