1. A method, in a data processing system, for performing programming idiom acceleration, the method comprising: performing, by a programming idiom accelerator, a look-ahead operation to examine an instruction stream being pre-fetched for a thread being executed by a processor, wherein the instruction stream comprises instructions to be executed by the processor; detecting, by the programming idiom accelerator, a programming idiom begin hint instruction that exposes a predetermined programming idiom comprising a sequence of a plurality of instructions that performs a function, and a programming idiom end hint instruction, wherein the programming idiom begin hint instruction marks a beginning of the programming idiom at a next instruction in the instruction stream and wherein the programming idiom end hint instruction marks an end of the programming idiom in the instruction stream; and performing, by the programming idiom accelerator, an action to accelerate execution of the sequence of instructions by the processor; wherein the data processing system is a multiple processor data processing system and wherein performing a look-ahead operation comprises examining, by the programming idiom accelerator, instructions streams being pre-fetched from memory via a bus for a plurality of threads running on a plurality of processors in the multiple processor data processing system to identify at least one predetermined programming idiom; wherein the predetermined programming idiom is a wake-and-go programming idiom comprising a load instruction to load a data value from a target address, a compare instruction to compare the loaded data value to an expected value, and a branch instruction to branch responsive to the compare instruction resulting in a match; wherein the action comprises performing the following operations on behalf of the thread: storing, by the programming idiom accelerator, the target address in a wake-and-go storage array; loading, by the programming idiom accelerator, a data value from the target address; and comparing, by the programming idiom accelerator, the loaded data value to the expected value.