正常情况下,使用一个链表保存多个内存块地址,
GetFreeBuf()时锁一下链表
FreeBuf()时锁一下链表
以保证链表资源共享不产生冲突
但是假如想再提高效率要怎么办呢
不同的操作系统,临界区效率不一样
假如锁与解锁效率比较低的话,
我们可以使用链表头锁(HeadLock)和链表尾锁来优化(TailLock)
简单讲就是GetFreeBuf()时调用HeadLock
FreeBuf()时调用TailLock
这样获取内存与释放内存可以并发使用,效率由此提升
正常情况下,使用一个链表保存多个内存块地址,
GetFreeBuf()时锁一下链表
FreeBuf()时锁一下链表
以保证链表资源共享不产生冲突
但是假如想再提高效率要怎么办呢
不同的操作系统,临界区效率不一样
假如锁与解锁效率比较低的话,
我们可以使用链表头锁(HeadLock)和链表尾锁来优化(TailLock)
简单讲就是GetFreeBuf()时调用HeadLock
FreeBuf()时调用TailLock
这样获取内存与释放内存可以并发使用,效率由此提升