1. A method for mapping tasks to execution threads of a parallel processing device, comprising: repeating the following while there are still tasks in a list of tasks to be performed for matching regular expressions: mapping tasks from the list of tasks to the execution threads of the parallel processing device that are free, allowing the parallel processing device to perform the tasks mapped to the execution threads of the parallel processing device for a predetermined number of execution cycles, and when the parallel processing device has performed the tasks mapped to the execution threads of the parallel processing device for the predetermined number of execution cycles, suspending the parallel processing device from further performing all of the tasks, wherein when the parallel processing device is suspended from further performing all of the tasks, the parallel processing device determines which execution threads have completed performance of mapped tasks and are therefore free.