以进程(任务)调度中中用到的runqueue来说,spin locks用来防止多个任务同时操作runqueue。
为 什么叫spin locks呢?假设某地只有一个WC,一次只能被一个人使用,WC的门上有把钥匙,先来的人可以拿到钥匙开门进去使用并把门从里边反锁,这样其他想用WC 的人都只能等待他出来才可以拿到钥匙开门反锁并使用WC...考虑以下情况:Person A进入WC后未出来前Person B到来由于内急想使用WC,这时他发现钥匙已经被拿走,所以他只能等待Person A用完WC后才能使用,这个等待的过程叫做Spin,因为Person B鳖的太难受了所以他只能在W附近走来走去分散自己的注意力并隔30秒看一下Person A是否已经出来(钥匙被重新插在了WC门上),我希望Person A别BM,否则Person B可能要尿裤子了。