what is the difference of 4 threads on a 2 core processor?
The short answer is that each core has two execution threads, which helps maximize the use of execution resources. Each thread is a virtual cpu (looks like an actual cpu to the OS), but since the two threads on each core share cpu resources, performance will still fall short of what it would be with separate cores. In other words, the performance of 2 cores/4 threads will be greater than 2 cores/2 threads but less than that of 4 cores/4 threads (all other things being equal). That's for pure cpu performance, but overall system performance will depend on how efficient the system is at scheduling operations on the various threads.
For an in-depth look, read the info on hyperthreading in this article:
http://arstechnica.com/old/content/2002/10/hyperthreading.ars