- 博客(3)
- 资源 (2)
- 收藏
- 关注
原创 关于锁的一些想法
<br />1. 程序在进入临界区后有各种原因是被换出,中断,调度,阻塞等<br />2. 临界区内要短<br />3. spin lock要慎用,如果是使用spin lock,但是临界区太大,进入临界区的线程被调度,则另一个被调度的线程会忙等,白白浪费cpu,因此,一定要是多个cpu,且临界区很简单才能用spin lock,否则还是要容忍sleep带来的开销<br />4. 如果想用spin lock,但是不能确定这个lock的竞争情况和执行情况,可以用常规锁,执行代码,观察cpu 的利用率
2011-01-23 19:33:00 555
原创 最大间隙问题
<br />给定n个实数,求出相邻的两个数,这两个数的差值是所有相邻数的最大<br />例如 ,1 ,3 ,7,8, 则答案是3,7<br /> <br />思想如下:<br />找出最大值和最小值,则所有的两个数 m- n > (max-min)/n - 1<br />因此,设定n -1 个区间,区间长度为 (max -min )/ n - 1, 将所有数按照与min的差值映射到这些区间里<br />则所有的两个数必然是两个相邻区间的最大值和最小值。 因为区间内的数的差值是小于上面的平均数的。<br /
2011-01-23 19:29:00 994
原创 linux 内存管理
<br />只是大概谢谢,笔记类型的。<br />1. 以页位单位<br />struct page {<br /> page_flags_t flags; //标记:是否需要写出,是否被锁在内存等,在linux/page-flags.h 中定义<br /> atomic_t _count; //页面引用计数<br /> atomic_t _mapcount; //有多少个页
2011-01-15 17:28:00 797
Aggregated Search
2018-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人