1. An apparatus comprising: an execution circuit to receive and execute a thread of instructions, wherein the execution circuit transmits a semaphore request message and places the thread of instructions in an inactive state in response to the thread of instructions requiring a resource having an associated semaphore which indicates that the resource is in use; and a semaphore entity coupled with the execution circuit to receive the semaphore request message from the execution circuit and to selectively grant control of the semaphore in response to the semaphore request message by transmitting a semaphore acknowledge message to the execution circuitry, wherein the execution circuitry, in response to receiving the semaphore acknowledge message, removes the thread of instructions from the inactive state and grants the resource to the thread of instructions when the resource becomes available, said execution circuitry to automatically release the resource in response to the thread of instructions finishing with the resource only if the thread of instructions is not depended on by any subsequent threads of instructions.