Maybe this would be appropriate to post in the discussion about SMT, but since I wasn't sure (and because it a more general question), I decided to make a new topic about it. The way I understand it, a thread is basically a piece of a program that can be executed independantly of others. I also understand that in order to make use of a dual or multi-processor machine, you need software that was specifically written for it, i.e. multi-threaded software. Here is what I do not understand: if I look at task manager in win2k, I can see that many of the processes listed have more than one thread. Yet by reading the many posts in GH about people asking about whether they should get a dual-processor computer or not, I was led to believe that there is not a large amount of software out there that actually makes use of more than one processor. So my question is, does any process with more than one thread benefit from more than one processor, or is there some other characteristic that a program must have in order to benefit from more than one processor? Also, what about quad processor (and above) systems? Does software have to be specifically written to take advantage of 4 processors, or will any program that can make use of two processors also be able to automatically use four?