1. A computer-implemented method, comprising: determining, using a processor, whether modifying data associated with a first computer processing thread violates a constraint associated with the data; and using, responsive to a determination that the modifying the data violates the constraint associated with the data, the data to modify data shared by multiple computer processing threads that includes the first computer processing thread, wherein the constraint represents a portion of a tolerance value that is a) associated with the data shared by the multiple computer processing threads and b) divided among a plurality of constraints and each of the plurality of constraints is associated with a different one of the multiple computer processing threads, wherein each of the multiple computer processing threads has an associated own thread-local data for storing modifications intended for the data shared by the multiple computer processing threads, and a tolerance value associated with the data shared by the multiple computer processing threads sets a bound for a difference between i) an aggregate of the data shared by the multiple computer processing threads and the thread-local data of the multiple computer processing threads and ii) the data shared by the multiple computer processing threads.