The rate of any spinning threads and/or polling you need to do should all be configurable. As a general rule of thumb you should avoid maxing a bunch of threads out as it leads to more unpredictable switches between threads by the OS Scheduler (IE what if you don't return to the audio thread quickly enough to keep the output buffer filled etc) You want things as fast as they'll go whilst retaining a consistent execution rate.