1. A method of scheduling threads, said method comprising: analyzing an application to configure a multilevel scheduler to schedule a plurality of threads of the application, wherein the multilevel scheduler comprises a parent scheduler and a plurality of associated child schedulers, wherein the parent scheduler stores a pointer to the most eligible child scheduler, and wherein the multilevel scheduler is configured to sort the plurality of threads using a respective scheduling process of a plurality of scheduling processes; determining, using the parent scheduler, a first thread of the plurality of threads for execution on a processor element of a multicore processor, the parent scheduler configured to provide the first thread to the most eligible child scheduler based on the stored pointer; and scheduling, by the most eligible child scheduler, the first thread to the processor element for execution by the processor element.