Manual threads have some huge drawbacks and are therefore not well
suited for this task. Using async with a multi-threaded runtime,
however, does not have those drawbacks and keep the advantage of a
multi-threaded environment.
This is only the first part of the switch to async, the next step being
to use it in file operation, HTTP requests and sleeps.