lock
看了半天发现原来也不是 hash…? 这不就是我们组相联地址映射吗…
[!faq] 为什么要弄成链表结构…
因为如果一个 bucket 里面没有空闲的 buf 结构体,需要从其他 bucket 里面借一点,为了借用所以得链表
[!faq] 按顺序加锁也可能会造成环路等待。
但是为什么不 kalloc 新的 buf 来增加缓存数量呢…
有一种解决方法是在试图获得别人的锁之前,拿到全局锁,用一个大锁来保障小锁不会冲突…
https://github.com/Miigon/blog/issues/8
移动终端安全
安卓系统的碎片化
cpp
[!faq] 看不懂你们 cpp 为啥要给 lambda 表达式取名字…
Lambda 表达式可以捕获和使用其定义所在作用域中的变量。这种捕获可以是值捕获(通过值传递),也可以是引用捕获(通过引用传递),还可以混合使用。这样的特性使得 Lambda 表达式非常适合用于那些需要访问非局部变量的情况,而普通函数做不到这点(除非通过参数传递)。
auto AddActive = [&](Interval* Current) {
for(size_t i = 0; i < Active.size(); i++) {
if(Active[i]->End() > Current->End()) {
Active.insert(Active.begin() + i, Current);
return;
}
}
Active.push_back(Current);
};