Thread vs Non-Blocking - invoke thead


Thread vs Non-Blocking - invoke thead
My question related to Thread vs Non-Blocking IO used for network application. If my application needs to handle several thousands or even ten thousand connection simultaneously, did I little research, I concluded that instead of having 10,000 thread running (don't know even that number is possible), I should use NIO instead. My question is that, if I use NIO and fire up a thread everytime I had new data coming in to process, will over head of creating new thread reduce performance a lot than having all the thread running all the time? Should I handle incoming data sequentially and try to avoid blocking during the process?
If you would take the trouble of reading the previous 10 or 20 posts in this forum about threads and/or NIO you would have your answer, or at least most of it.
Read More: The other 2 answers