共享锁、互斥锁、自旋锁
共享锁:如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁,直到已释放所有共享锁。
获准共享锁的事务只能读数据,不能修改数据。
排他锁:如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的锁,直到在事务的末尾将资源上的锁释放为止。
获准排他锁的事务既能读数据,又能修改数据。
linux 自旋锁: 进程运行是会锁住自己所拥有的资源,不让其他进程来破坏(即自己锁住自己).但是如果是单处理
器的系统,会出现其他的进程请求自己所拥有的资源,不断的查询资源是否可用,占用了CPU的资源,而自己也会应
为竞争不到CPU而处于就绪,这种状态会一直保持.
所以自旋锁一般不用于单处理器的系统.

浙公网安备 33010602011771号