Why create new thread with startAsync instead of doing work in servlet thread?
In servlet 3.0 one can use startAsync to put long work in another thread, so that you can free up servlet thread. Seems that I'm missing something, because I don't see, why not just to use servlet thread for working? Is the thread created by startAsync somehow cheaper? Tomasz Nurkiewicz In most situations when handling requests you are blocking or waiting on some external resource/condition. In this case you are occupying the thread (hence a lot of memory) without doing any work. With servlet 3.0 you can serve thousands of concurrent connections, much more than available threads. Think about