Android第二十天

一:同步机制(synchronized)
    同步:在一个时间段内只能有一个线程运行某段代码块,在该线程运行的过程当中,
          其余线程不能进入,只有该线程运行完毕该代码块(或释放了同步锁),其余
          线程才能进入。
    1.同步代码块
      synchronized(同步对象){
          // 同步代码块
      }
      在Java中,每个对象都有一个“锁”,同步对象的锁为“同步锁”(互斥锁),
      只有保证同一个“同步锁”(互斥锁),才能达到多个线程在某一个时间段内
      只能有一个线程运行同步代码块。
    2.同步方法
      访问权限 [static] synchronized 方法返回值 方法名(参数列表){
            // 同步方法代码块
      }
      非静态同步方法的同步对象就是当前对象(this)---实例对象。
    3.静态同步方法
      含有static修饰的同步方法(static synchronized).
      静态同步方法的同步对象是类对象。this

二:死锁(DeadLock) (了解)
    多个线程互相持有对方须要的“互斥锁”,从而互相等待对方释放锁,陷入“假死”的
    现象。
    "哲学家就餐"问题线程

三:生产者-消费者模式 (了解)Producer-Consumer
    1. wait(): 使当前线程等待。
    2. notify():唤醒在此对象监视器上等待的单个线程
    3. notifyAll():唤醒在此对象监视器上等待的全部线程。
    以上三个方法都必须在同步机制中调用,并且必须使用同步对象调用。
    每个Java对象都维护着一个线程等待池。对象

相关文章
相关标签/搜索