Normally, your CPU will switch between a number of different threads as needed, many of which belong to various parts of the operating system and drivers. The priority level dictates how willing the OS will be to interrupt one process thread to switch to another for tiny fractions of a second. If you set the priority of a program to 'high', it will give that program greater priority to perform its functions in cases where the processor core is maxed out. Other threads may potentially not get the processor time they need to run smoothly though. At 'realtime' priority, the program will be unwilling to give up control to other threads, and if those other threads are supposed to be performing important things, those important things...