Of course, there is a threshold to the number of threads you can add before context-switching overhead hinders your performance (aka thrashing), but this is natural, and dependent on the hardware and OS. The following is an example of good scaling up to 5 threads: How many concurrent threads can your app manage before it starts to suffer?