Sometimes you need to increment some numbers ... atomically ... in python.
AtomicLong
was born out of the need for fast thread-safe counters in python.
It uses CFFI to bind GCC's Atomic Builtins.
Its value is a C long
which can be incremented, decremented, and set
atomically. It is inspired by Java's java.util.concurrent.atomic.AtomicLong.
Example:
>>> from atomiclong import AtomicLong >>> a = AtomicLong(0) >>> a += 1 >>> a.value 1 >>> a += 10 >>> a.value 11 >>> a.value = 1000 >>> a.value 1000 >>> a -= 100 >>> a.value 900