1. In a computing environment, a method of detecting memory accesses by other agents, the method comprising: a thread executing a processor level instruction included as part of an instruction set architecture for a processor, setting a read, or write monitor to detect writes, or reads or writes respectively by other agents on a first set of one or more memory locations for the thread; the thread executing a processor level instruction included as part of an instruction set architecture for a processor, setting a read, or write monitor to detect writes, or reads or writes respectively on a second set of one or more different memory locations for the thread; the thread executing a processor level instruction included as part of an instruction set architecture for a processor which causes the thread to suspend execution of instructions pending loss of a read or write monitor for the first or second set of one or more memory locations; detecting a conflicting access on the first or second set of one or more memory locations or detecting a timeout; and as a result of detecting a conflicting access or detecting the timeout, the thread resuming execution of instructions.