I Have an i3 intel CPU ( dual core with hyper threading )
i'm usually monitoring my cpu usage using a sidebar gadget showing each core usage in separate line from ( 0 - 3 ).
but recently i noticed that core number 0 isn't being used at all.
after some search i bumped into a topic explaining the numbers and the idea that cores 0, 2 are the real cores and the 1, 3 are the hyper threaded cores, but according to that it means that my CPU's real core is never used and even my other core is useless.
and reading more i bumped into this multi-core-cpu-single-thread-behaviour-not-achieving-100 that says switching takes place, but still this didn't answer the question above, where is the real core 0 and why only 1 core is used.
as you can see that's the normal CPU usage, what happened to the core 0,2,3 why aren't they being used by other programs and why is only 1 core active even when lot of programs are running.
( ALL processes are using all cores, inspected through affinity )
With hyperthreading both logical CPUs on one core are equivalent. It is not one of the is real and the second is hyperthreaded. Both are sharing the same physical core. It does not matter at all which one of them is used. It is better to first schedule threads on different physical cores and only once all physical cores are used, use 2nd logical CPUs on the same cores, which seems exactly what you describe.