摘要:
算了,既然给你那么多秘籍了,也不在乎这剩下的两三招: 出招表五:顺序锁(seqlock) 使用顺序锁,读执行单元绝不会被写执行单元阻塞,同时写执行单元也不需要等待所有读执行单元完成读操作后才进行写操作。但是写执行单元之间仍然是互斥的。如果读执行单元在读操作期间,写执行单元已经发生了操作,那么,读执行单元必须重新读取数据,以便确保得到的数据是完整的。 致命弱点:顺序锁有一个限制,就是它必须要求被保护的共享资源不含有指针。因为写执行单元可能使得指针失效,但读执行单元如果正要访问该指针,将导致Oops。 在Linux内核中。读执行单元设计如下顺序读操作。 1)读开始 unsigned read_se 阅读全文