notes about locks: spin lock, semaphore, mutex.