android synchronized浅析

synchronized的使用方法共四种:

1.在方法声明时使用
       位置在public/protect/private之后,返回类型声明void之前。线程获得的是成员锁,即一次只能有一个线程进入该方法,其他线程要想在此时调用该方法,只能排队等候,当前线程(就是在synchronized方法内部的线程)执行完该方法后,别的线程才能进入。
        public synchronized void Ot(){
                //
         }


2.在对某一代码块时使用,线程获得的是成员锁
 public void Ot(int h){
            synchronized(h){
                 //   
            }    
        }


3.对某一对象使用,线程获得的是对象锁
Runnable oTRunnable=new Runnable() {
@Override
public void run() {
      synchronized (this) {
           // 
      }
    }
};


4.对某一类使用对象锁,比如单例的加锁:       
public static Singleton getInstance() {  
     synchronized (Singleton.class) {  
         if (instance == null) {  
             instance = new Singleton();  
         }  
     }  
     return instance;  
 }  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值