In his blog, Cliff Click describes a technique for tolerating some data races devised by Ben Zorn.
Ben & Azul were both looking for some easy way to detect common data-races - something people could put into practice with little or no effort, and that wouldn't kill performance and wouldn't raise a zillion false alarms.
The solution proposed has been called ToleRace. ToleRace works to detect and tolerate data races when you are playing by the rules yet some unknown other party isn't. The trick is to make local copies of your non-local variables. After working with the local copies, the next step is to reconcile them with globals to determine if the data race occurred. You can read about this and other concurrency issues at Cliff's blog.