Yes, the DCLP can be done safely if you use atomic operations for the comparisons to 0.
Sadly though, atomic operations are still quite expensive, depending on CPU, taking as much as 40-50 times as long as a basic comparison. But you gotta do what you gotta do.