Is it always guaranteed that a multi-threaded application would run faster than a single threaded application?
I have two threads that populates data from a data so
I've seen real-world examples where code has performed so badly with more processors added (horrible lock contention amongst threads) that the system needed to have processors removed to restore performance; so yes, it is possible to make code work worse by adding more threads of execution.
IO constrained apps are another good example, mentioned above.