Java 基础拾遗

  集合存放的是对象的引用,不是基本数据类型,所以不可以放int啊等,可以放基本数据的包装类,比如Integer。

 

同步锁的方法:

 

1)写个同步代码块

 

  syncronized(任意对象Obj){

 

  线程要操作的共享数据

 

  }

 

2)在方法声明前加synchronized ,叫同步方法 ,对象锁是本类对象引用this:

 

  public syncronized void payticket(){

 

  }

 

 

 

3)静态同步代码块,对象锁不是this,是本类类名.class  :

 

 

 

  public static syncronized void payticked(){

 

  }

 

4)使用Lock接口,JDK5中有Lock接口,ReentrantLock是Lock的实现类,

 

  Lock lock= new ReentrantLock();

 

  调用Lock接口方法lock获取锁:

 

  lock.lock();

 

  try{

 

  //运行代码块

 

  }catch{

 

  }finally{

 

  //释放锁,使用Lock接口方法unlock():

 

  lock.unlock();

 

 

 

  }

 

posted @ 2018-11-09 12:50  牛牛11  阅读(80)  评论(0编辑  收藏  举报