Implement a thread-safe LRU cache with O(1) performance.
Implement lru_cache_operations(capacity, operations), where operations contains ['put', key, value] or ['get', key]. Return the results of all get operations in order, using -1 for missing keys. Every cache operation must be synchronized, and a successful get or put must mark the key as most recently used. The cache must evict the least recently used key when its capacity is exceeded.
def lru_cache_operations(capacity, operations):