Hey.
I recently went back to using one threaded server - because the thread handling was killing me. Concurrency errors and such…
My initial plan was to use 3 threads on the server :
- Logic, calculations etc
 - Database write/read
 - Network in/out
 
However, like I said now I am back to one… 
My question is if this is even going to be viable in the long run?
I am guessing it has to do with the number of clients connecting to it as well?
Can someone give me some pointers on this? Do I -need- multi threads or can single do fine for a limited (how many?) number of clients?
      
    
 Java non blocking is the same as non blocking io in other langs. Its a feature provided by the OS and underlying hardware. Buffers can be filled etc without user space threads doing the work, indeed often no threads at all (DMA).  The api generally means every method call will return immediately, even if there is nothing to read etc.