Advertisement

深入探讨Java中的常见并发控制手段

阅读量:

单实例的并发控制机制,主要应用于JVM内部环境,通常情况下采用常规的处理方式即可满足实际需求,常见的实现手段大致包括以下几种:

  • 同步代码块
  • 基于CAS的自旋操作
  • 锁机制
  • 阻塞队列、令牌桶等技术

1.同步代码块设计与实现

采用同步代码块的方式,可以保证在任意时间点仅允许单一线程执行相应的业务处理逻辑,其典型应用方式如下

复制代码
 public synchronized doProcess() {

    
     // 同步代码块,只会有一个线程执行
    
 }
    
 复制代码
    
    
    
    

通常建议遵循最小作用域原则,避免在方法层面直接添加synchronized关键字,例如经典的双重检查单例模式即为典型示例。

复制代码
 public class Single {

    
   private static volatile Single instance;
    
   private Single() {}
    
   public static Single getInstance() {
    
       if (instance == null) {
    
       synchronized(Single.class) {
    

全部评论 (0)

还没有任何评论哟~