1. Apparatus for processing data comprising: a plurality of execution circuits configured to execute a common program as a respective plurality of threads of program execution; and scheduling circuitry configured to determine a next scheduled execution position within said common program corresponding to a next program instruction to be executed by at least one of said plurality of execution circuits while any of said plurality of execution circuits at a current execution position in their path through said common program not followed by said next scheduled position do not execute said next program instruction; wherein said scheduling circuitry is configured also to calculate a runner up execution position that would have been determined as said next scheduled execution position if said next program instruction was excluded from serving as said next scheduled execution position