I really like design of node.js (http://nodejs.org) it's internally based on libev and everything runs in a single-threaded event loop. It's proven to be highly concurrent and memory efficient.
Maybe a wrapper around libev(ent) for D ala node.js would be good solution for asynchronous API, other than thread approach (I always like to have more than one option and choose one which suits better for concrete task I'm dealing with). Whatever solution to be chosen I'd like to have an API like this: readTextAsync(filename, (string contents) { // do something with contents });