前提: 有两个线程a和b

 

读写锁: 允许多个线程同时读取资源,但在写操作时互斥的独占资源;

 

互斥锁: 线程b加锁失败后,线程释放cpu,线程阻塞挂起; 同一时间仅一人能对数据进行操作.因外像排斥其他人一样,所以叫互斥锁.

 

自旋锁:线程b加锁失败后,它通过循环检查锁的状态来等待其他线程释放锁,而不是将线程以减少线程切换的开销;

 

死锁:a线程拿了a锁,想要b锁;b线程拿了b锁,想要a锁; 程序无法运行,产生无限等待的状态

 

递归锁:允许同一线程多次获取同一把锁.

 

posted @ 2024-03-14 16:22  tslam  阅读(10)  评论(0编辑  收藏  举报