1. A system that supports multi-threaded transactions, comprising: one or more processors configured to: speculatively execute a first thread in a first transaction; speculatively execute a second thread concurrently with the first thread in a second transaction that is configured to be a comparable transaction with respect to the first transaction, wherein: the first transaction is associated with a first version identifier (VID) comprising a first VID first indication and a first VID second indication; the second transaction is associated with a second VID comprising a second VID first indication and a second VID second indication; the first VID first indication and the second VID first indication indicate that the second transaction is a comparable transaction with respect to the first transaction; the first VID second indication and the second VID second indication indicate that the second transaction is configured to occur semantically later than the first transaction; and semantic ordering of the first transaction and the second transaction is the order in which memory access operations in the first transaction and the second transaction appear to have occurred upon successful completion of the first transaction and the second transaction; and one or more memories coupled to the one or more processors, configured to provide the one or more processors with data storage; wherein an uncommitted value written by the first thread while executing in the first transaction is visible, at least before the first transaction completes, to the second thread executing in the comparable transaction.