Futex 在进入到brpc之前,先看看linux的futex是怎么用的。 man page中有比较详细的描述 可以把futex看作是一个原子的compare-and-block,他会原子的比较目标地址上的值,并进入睡眠。 通常的用法就是我们先通过一个用户空间的原子量来表示锁。当一个线程发现锁已经被获得了以后,他就会通过futex来睡眠,直到锁不再被其他人占有。 (感觉实现起来需要特殊处理signal,我们只要保证signal不出现在compare和block之间,就不会出现lost wakeup的问题) fute…