Lock专题
2021-04-26 19:14:28   0  举报             
     
         
 AI智能生成
  lock
    作者其他创作
 大纲/内容
  线程要不要锁住同步资源?    
     锁住    
     悲观锁  
     不锁住    
     乐观锁  
     锁住同步资源失败,线程要不要阻塞?    
     阻塞  
     不阻塞    
     自旋锁  
     多个线程竞争同步资源的流程细节有没有区别?    
     不锁住资源,多个线程只能有一个修改资源成功,其他线程会重试    
     无锁  
     同个线程执行同步资源时自动获取资源    
     偏向锁  
     多个线程竞争同步资源时,没有获取资源的线程自旋等待锁释放    
     轻量级锁  
     多个线程竞争同步资源时,没有获取资源的线程阻塞等待唤醒    
     重量级锁  
     多个线程竞争锁时要不要排队?    
     排队    
     公平锁  
     先尝试插队,插队失败再排队    
     非公平锁  
     一个线程中的多个流程能不能获取同一把锁    
     能    
     可重入锁  
     不能    
     非可重入锁  
     多个线程能不能共享一把锁    
     能    
     共享锁  
     不能    
     排他锁  
     锁优化策略    
     标志位修改等可见性场景优先使用volatile  
     数值递增场景优先使用Atomic原子类  
     数据允许多副本场景优先使用读写锁  
     读多写少需要加锁的场景优先使用读写锁  
     尽可能减少线程对锁的占用时间  
     尽可能减少线程对数据加锁的粒度(分段加锁)  
     尽可能按照不同场景拆分对锁功能的使用  
     避免在循环中频繁加锁  
     尽量减少高并发场景中线程对锁的争用  
    
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
  
  
 