线程同步的方法

来源:互联网 发布:中美南海撞机事件 知乎 编辑:程序博客网 时间:2024/05/04 08:11

一  线程同步的方法
    1  ReentrantLock()
       a)加锁
         ReentrantLock lock = new ReentrantLock();
         {
         lock.lock();
         try{
        
         }
         finally{
         lock.unlock();
         }
         }
       b)condition variable
         Condition fund;
         {
         lock.lock();
         try{
         while(a < b)
           fund.await();
         fund.signalAll();
         }
         finally{
         lock.unlock();
         }
         }

    2  synchronized
       a)加锁
         synchronized void transfer(){
 
  }

  Object lock = new Object();
         void transfer(){
    synchronized{
    }
  }
       b)condition variable
         synchronized void transfer(){
  wait();
         try{
         while(a < b)
           fund.await();
         nitifyAll();
         }
         finally{
         lock.unlock();
         }
  }

原创粉丝点击