The explorer.exe process on my Vista x64 has started using a lot of CPU recently. Restarting the process typically solves the problem.
Is there a simple way to inspect the process to see where (threads, modules) the high CPU load is spent?
There isn't really an easy way of finding out what is causing the problem is, but the most likely cause are Explorer shell extensions (as well as several other items).
I would recommend you take a look at Microsoft / Sysinternals Autoruns and look under the explorer tab. However, do not press delete on anything, use this to identify problems (by unchecking boxes) and when you have found the problem - use the uninstaller for the application. Only press delete if the uninstaller fails to remove it.
You can use Microsoft / Sysinternals Process Explorer to inspect the process and find out which threads/modules are using the processor. Just double-click the process and sleect the Threads tab.
From there you can see which thread is using the processor. You can also see the call stack of the thread to find out which module is hogging processor.