1. A method comprising: if a self thread has more than one conflict, aborting and restarting a transaction of the self thread; if the self thread has only one conflict and an enemy thread of the self thread has more than one conflict, committing the transaction of the self thread; and if the self thread only conflicts with the enemy thread and the enemy thread only conflicts with the self thread and the self thread has a key that has a higher priority than a key of the enemy thread, committing the transaction of the self thread.