Typically most of the more feature complete game engines actually have 2 game loops.
The first is a fixed step loop aimed at iteration around every 16ms for that ideal 60fps zone.
The second is the "as fast as possible" loop.
The idea is that some actions like physics processing need to have some idea of process in order to be calculated correctly and other actions like drawing things on the screen are best served up at the highest possible rate (unless vertical sync is enabled forcing a limit).
Essentially the fixed step is handled by a timer that simply calls a function every x amount of time and the fast as possible loop is just an endless "while(true)" type loop.
For the most part you want to aim to keep your main thread in your game / engine as clean and empty as possible.
With multicore cpu's being the common situation these days even if you maxxed out that thread you should only see around 10% to 30% cpu load so my guess is you are doing a lot of multithreaded cpu intensive work in order to maxx out your cpu.