Sometimes we need to narrow general stack trace collection to a few threads that satisfy some predicate13, for example, all threads with kernel time spent greater than some value, or all suspended threads, or all threads that wait for a specific synchronization object type. This can be implemented using WinDbg scripts (page 32) and / or debugger extensions.
13 http://en.wikipedia.org/wiki/Predicate_(mathematical_logic)