1. A method for managing exclusive control of a shareable resource between a plurality of concurrently executing threads, the method comprising: determining the number of concurrently executing threads waiting for exclusive control of the shareable resource; responsive to a determination that the number of concurrently executing threads waiting for exclusive control of the shareable resource exceeds a pre-determined value, one or more of said concurrently executing threads terminating its wait for exclusive control of the shareable resource; and responsive to a determination that the number of concurrently executing threads waiting for exclusive control of the shareable resource is less than a pre-determined value, one or more of said one or more concurrently executing threads which terminated its wait for exclusive control of the shareable resource, restarting a wait for exclusive control of the shareable resource.