I have always followed the concept that multithreading can only be implemented on multiple processors system where there are more than one processor to be assigned to each t
You can have more than four active threads on a quad core system. There is scheduling, unless you can guarantee that processes won't try to create more threads than there are processors.
Yes, you can have multiple threads on a single-core computer.
The difference between single processor and multi-processor systems is that a multi-processor system can indeed do more than one thing at a time. It can do N things at a time, where N is the number of processor cores. A single-processor core can only do one thing at a time. As WhozCraig said in his comment, it's the difference between actual and perceived concurrency.