关键字synchronized

来源:互联网 发布:mac全屏 编辑:程序博客网 时间:2024/04/29 15:45

为解决操作的不完整性问题,在Java 语言中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。 关键字synchronized 来与对象的互斥锁联系。当某个对象用synchronized 修饰时,表明该对象在任一时刻只能由一个线程访问。

    public void push(char c){
    synchronized(this){ 
//this表示Stack的当前对象
       data[idx]=c;
       idx++;
    }
    }
    public char pop(){
       synchronized(this){ 
//this表示Stack的当前对象
       idx--;
       return data[idx];
       }
    }
 
 synchronized 除了象上面讲的放在对象前面限制一段代码的执行外,还可以放在方法声明中,表示整个方法为同步方法。
  public synchronized void push(char c){
  …
    }
  
如果synchronized用在类声明中,则表明该类中的所有方法都是synchronized的。

原创粉丝点击