Thanks for the replies. I think I'm confused about some of the terms here. In my reading I see a lot about asynchronous operations (like those supported by NIO2). I always equated this with the classic multiplexed single-threaded server design (like you see in a lot of old muds that use select() and so on).
However now it seems like async and single-threaded multi-plexed are two different things. Can anyone comment as to why an async design might or might not be better for a mud?