safely shared between threads. This type has the same in-memory representation as the underlying integer type, [`i8`]. If the compiler and the platform support atomic loads and stores of [`i8`], this type is a wrapper for the standard library's `AtomicI8`. If the platform supports it but the compiler does not, atomic operations are implemented using inline assembly. Otherwise synchronizes using global locks. You can call [`AtomicI8::is_lock_free()`] to check whether atomic instructions or locks will be used.