Threading past hyper, confused

Brandon_3

Reputable
Aug 23, 2015
6
0
4,510
Thanks in advance.
I know the number of threads directly to the number of cores 1:1 before super or hyper threading. I am currently running an i5 4690k (didnt go with the i7 cause this rig is for gaming and the hyperthreading isnt needed). However, my resource monitor say my system is using 194 threads @ a 3% work load. I cant figure out how this is possible? i even turned mu overclocking off so its running at the standard 3.50 Are these "threads" a type of virtual thread attached to various running programs? I'm sorry I dont work in the IT field so this is kinda of freaking me out. including pictures so you can see what I mean, that might help supply a better visualization of what im talking about. I just moved so im trying to go over a systems check to make sure nothing was damaged and when i came across this it stressed me out some.

http://imgur.com/a/pxnxx

Thanks, you guys are always great help, wouldnt know what to do without the website/forum!
 
Solution
Every program that is running on your machine uses multiple threads. Your CPU keeps quickly swapping them around. Most threads just sit there with nothing to do. Your CPU can swap active threads thousands of times each second. It is true that you can only have 4 running at a once, but computers are so fast they can juggle almost unlimited threads.
This only causes a performance problem when you have more than 4 threads that actually need to do serious work. If you are transcoding video, you can set 4 threads to work and it will max out your CPU. You can use more than 4 threads but you won't get better performance. Here is where having hyperthreading or more cores could give better performance.
Every program that is running on your machine uses multiple threads. Your CPU keeps quickly swapping them around. Most threads just sit there with nothing to do. Your CPU can swap active threads thousands of times each second. It is true that you can only have 4 running at a once, but computers are so fast they can juggle almost unlimited threads.
This only causes a performance problem when you have more than 4 threads that actually need to do serious work. If you are transcoding video, you can set 4 threads to work and it will max out your CPU. You can use more than 4 threads but you won't get better performance. Here is where having hyperthreading or more cores could give better performance.
 
Solution

kanewolf

Titan
Moderator
You can have 1000 threads that the OS knows about, but only 4 of them can run at any instant in time in your case. A thread is just an independent set of instructions and the data associated with them. The OS itself is made up of many threads. Each thread has a specific purpose -- read a keyboard key, get a packet from a network interface, etc.

Wikipedia has a good definition -- https://en.wikipedia.org/wiki/Thread_%28computing%29
 

Brandon_3

Reputable
Aug 23, 2015
6
0
4,510


Thanks for the quick answer I figured it was something like that, I guess "Virtual" wasnt the best description but I was kind of on the right path.