| CPC G06F 9/3009 (2013.01) [G06F 9/3802 (2013.01); G06F 9/52 (2013.01); G06F 9/526 (2013.01); G06F 12/0802 (2013.01); G06F 13/1663 (2013.01); G06F 13/1689 (2013.01); G06F 2212/60 (2013.01)] | 20 Claims |

|
1. A computer-implemented method, comprising:
waiting to allocate a lock, by a plurality of threads executing on one or more processors, the waiting comprising waiting on a plurality of locations including a first location and one or more other locations, wherein a first portion of the plurality of threads waits on the first location, and wherein waiting, by a thread of the plurality of threads, comprises:
selecting the first location responsive to determining that a number of threads in the first portion is not above a threshold number; and
selecting a second location from among the one or more other locations responsive to determining that the number of threads in the first portion is above the threshold number.
|