1. A method for execution scheduling of program thread of an application and executing the scheduled program thread on a data processing system, the method comprising: providing an application program thread priority assigned by the application to a thread execution scheduler; normalizing the application program thread priority using an increment function to identify a relative priority of the program thread from a plurality of program threads provided to the thread execution scheduler, wherein the increment function is executed by the thread execution scheduler; decoding the normalized application program thread priority into a data processor priority count using a decoder, wherein the decoder is programmable to achieve a desired thread performance based on the data processor priority count; inserting the program thread into a thread execution queue within the thread execution scheduler when the data processing priority count associated with the program thread reaches zero; setting a program thread bit in the thread execution queue, wherein the program thread bit is uniquely associated with the program thread and identifies the program thread being ready to be selected for execution; selecting for execution the program thread from a plurality of program threads inserted into the thread execution queue, wherein the program thread is selected for execution using a round-robin selection scheme from the plurality of program threads having associated program thread bit in the thread execution queue; placing the selected program thread in a data processing execution queue within the data processing system; and removing the program thread from the thread execution queue after a successful execution of the program thread by the data processing system.