1. A method of providing non-blocking multi-target transactions in a computer system, the method comprising: defining plural transactionable locations, wherein individual ones of the transactionable locations encode respective values and are owned by no more than one transaction at any given point in a multithreaded computation; for a particular multi-target transaction of the multithreaded computation, attempting to acquire ownership of each of the transactionable locations targeted thereby, wherein the ownership acquiring wrests ownership from another transaction, if any, that owns the targeted transactionable location; and once ownership of each of the targeted transactionable locations has been acquired, attempting to commit the particular multi-target transaction using a single-target synchronization primitive to ensure that, at the commit, the particular multi-target transaction continues to own each of the targeted transactionable locations, wherein individual ones of the multi-target transactions do not contribute to progress of another.