多线程

1.定义多线程类的两种方式:
  a) extends Thread 
  b) Implements Runnalbe
2.线程的状态:
  a) new 新生态
  b) 就绪状态(调用start方法后)
  c) 运行状态.
  d) 阻塞状态
    i. sleep: 不会释放持有的对象锁
    ii. join:等待另一个线程执行完成
    iii. wait:会释放持有的对象锁.
    iv. synchronized。运行同步代码,但是没有获得指定对象的锁,于是进入指定对象的锁池等待。
  e) 终止

    i. 不建议使用: stop、 destroy 直接终止。
    ii. 建议通过boolean变量,正常终止线程运行。
3.线程的优先级
  a) 1-10.默认是 5.
  b) 优先级低只是意味着调用的概率低,并不是不被调用。
4.资源同步
  synchronized修饰方法、语句块
5.死锁
  建议不要同时持有多个对象的锁!
  生产者-消费者”模式


多线程详解

原文地址:https://www.cnblogs.com/firecode7/p/13247727.html