What does it mean that a core supports 2 threads?
See Wikipedia on Computer Multitasking and Time-sharing, which have an explanation of how operating systems allow this.  Basically, they switch between multiple threads.

Read also about hardware multithreading.  This allows a single core to execute multiple threads concurrently, without switching between them.