Clarification on thread control

Clarification on thread control

Nav's picture

I've been reading through the book on Intel Multicore Programming by Shameem Akhter.

It mentions 3 levels of threads, Application level, Kernel level and Hardware level.

I wanted to understand how application threads control kernel threads.

I've noticed TBB making use of 100% cpu on a dual core processor. Assuming that the application level threads created by TBB are not 'real' threads, does TBB ensure that a certain number of kernel threads are created and get run to utilize 100% cpu? Is it TBB which ensures that 100% cpu is utilized or is that decision handed to the Operating system? Also, is my assumption above correct?

1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.