无锁编程介绍

无锁编程介绍

。。。。。。

。。。。。。

这是什么?

人民经常把lock-free编程描述为没有mutexes(也称为locks)的编程,这是对的,但只是一个方面。基于学术论文被广泛接受的定义是更加宽泛的。他的本质,是用来描述代码的属性,而不是告诉你代码应该怎么编写。

基本上,如果你程序的一部分满足下面的条件,那么那部分就可以被认为是lock-free的。相反的,如果不能满足这些条件,那么就不是lock-free.

在这种意义上,在lock-free中的lock并不直接意味着mutexes,而是以某种方式锁住整个应用程序的可能性,无论是死锁,活锁,甚至是由于最糟糕环境下的线程调度假设,最后一点听起来是可笑的,但这是重要的。共享的mutex不包括在内,因为当一个线程获得了锁,最坏情况下,