1. A method, comprising: collecting runtime statistics related to data transaction processing in a concurrent system, wherein the collected runtime statistics comprise at least one metric indicative of a number of accesses made to shared data in a given time period; receiving a given request to access the shared data in the concurrent system; and adaptively determining, based on the collected runtime statistics, a number of reattempts the given request can make to access the shared data prior to access control being switched from a hardware transactional memory to a locking mechanism, wherein the number of reattempts is adaptively modified when the at least one metric indicative of the number of accesses is above at least a predetermined threshold.