Link Copied
I have inspected your example withtask manager, and did not observe busy waiting.
I think the reason of your observation is that Thread Profiler (or at least the version you have) does not recognize Windows API for condition variables that was introduced in Vista. TBB checks the version of OS kernel, and uses these API functions if available.
Thread Profiler is not developedanymore, and will soon be superceded by a new tool thatis now in Beta. You might also try Locks & Waits mode of Intel Parallel Amplifier; it does not show thread activity on a timeline, but tells how much time threads were waiting. And, Windows Performance Monitor (perfmon) should also help to observe CPU (in)activity.
For more complete information about compiler optimizations, see our Optimization Notice.