Patent ID: 8458708

Claim:
A method for processing data in a multithreaded application in a data processing system, the method comprising: placing work items into a data structure that is maintained in the data processing system, wherein the work items are pending processing by the multithreaded application; processing work items from the data structure by a plurality of threads within the multithreaded application in accordance with a first algorithm; processing work items from the data structure by a separate thread within the multithreaded application in accordance with a second algorithm that differs from the first algorithm, wherein the separate thread is configured distinctly from the plurality of threads, wherein the separate thread evaluates workflow conditions of the plurality of threads for an impaired workflow condition, and wherein the separate thread determines work items to process to alleviate the impaired workflow condition in accordance with a first set of parameters that evaluate workflow conditions of the plurality of threads for a characteristic of the workflow conditions as controlled by the first set of parameters; and adjusting one or more parameters in the first set of parameters in accordance with a second set of parameters that regulate a time period associated with processing the work items by the separate thread in response to a determination of whether or not the workflow conditions have the characteristic indicated by the first set of parameters, and processing or not processing work items by the separate thread, respectively.