关于锁的一些想法

来源:互联网 发布:js object类型转时间戳 编辑:程序博客网 时间:2024/05/16 19:25

1. 程序在进入临界区后有各种原因是被换出,中断,调度,阻塞等

2. 临界区内要短

3. spin lock要慎用,如果是使用spin lock,但是临界区太大,进入临界区的线程被调度,则另一个被调度的线程会忙等,白白浪费cpu,因此,一定要是多个cpu,且临界区很简单才能用spin lock,否则还是要容忍sleep带来的开销

4. 如果想用spin lock,但是不能确定这个lock的竞争情况和执行情况,可以用常规锁,执行代码,观察cpu 的利用率

原创粉丝点击