Abandoning io multiplexing in favour of multi-threading