lock-free(无锁的):在并发/多线程编程中,指一种不使用互斥锁(lock)来保护共享数据的算法或数据结构。它通常通过原子操作(如 CAS)来保证整体系统持续向前推进:即使某些线程被挂起或失败,仍会有至少一个线程能够在有限步骤内完成操作。(常见相关概念还有 wait-free、obstruction-free,含义更严格或不同。)
/ˈlɒk friː/ (BrE), /ˈlɑːk friː/ (AmE)
A lock-free queue can reduce waiting under heavy load.
无锁队列在高负载下可以减少等待。
The team replaced a mutex-protected list with a lock-free data structure to improve throughput, but they had to carefully handle memory reclamation.
团队把由互斥锁保护的链表替换成无锁数据结构来提升吞吐量,但必须非常谨慎地处理内存回收问题。
lock-free 是由 lock(锁)+ free(无……的/免于……的) 组合而成的复合形容词,在计算机并发研究与工程实践中流行起来,用来强调“避免使用锁机制”。其中的 free 表示“免于、无需”,不是“免费”的意思。