1. A method of permitting the reordering of a visibility order of operations in a computer arrangement configured for permitting a first processor and a second processor threads to access a shared memory, comprising: receiving in a program order, a first and a second operation in a first thread; and permitting the reordering of the visibility order for the operations in the shared memory based on a class of each operation, wherein the visibility order determines the visibility in the shared memory, by a second thread, of stored results from the execution of the first and second operations.