1. A computer-implemented method for allocating threads, the method comprising: maintaining a computer-readable registration of a first computer-executable workload, the registration of the first workload including a first workload classification, the first workload classification yielding a first workload priority level for the first workload; maintaining a computer-readable registration of a second computer-executable workload, the registration of the second workload including a second workload classification, the second workload classification yielding a second workload priority level for the second workload that is different from the first workload priority level; monitoring a status of a computer resource, the monitoring of the status comprising determining a health value representing a health status of the resource for performing workload operations; and allocating the computer resource to execute tasks from a plurality of workloads comprising the first workload and the second workload, the allocating comprising requiring the determined health value of the resource to be within a predetermined first value range to process tasks from workloads with the first workload priority level, and requiring the determined health value of the resource to be within a predetermined second value range to process tasks from workloads with the second workload priority level, the first value range being different from the second value range; wherein the allocating further comprises: determining that a thread allocation count parameter exceeds a threshold value, wherein the thread allocation count parameter quantifies a number of consecutive times a subject workload has been selected to have a task from the subject workload considered for allocation to one or more computer resources comprising the computer resource; and in response to the determining that the thread allocation count parameter exceeds the threshold, selecting a workload with a lesser priority than the subject workload.