I&#x27;ve built systems with libdispatch and blocks. I found it much nicer than traditional C style non-blocking IO or typical pthreads, both of which I have also done.<p>• You don&#x27;t need to use blocks, there are function callback versions of the calls available, but blocks are nicer.<p>• There are asynchronous IO routines, that covers most of your stalls.<p>• Go probably stalls threads on page faults, as does libdispatch.<p>You can read about the Linux port of libdispatch at <a href="https:&#x2F;&#x2F;github.com&#x2F;nickhutchinson&#x2F;libdispatch" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;nickhutchinson&#x2F;libdispatch</a>