多线程
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.死锁
建议不要同时持有多个对象的锁!
生产者-消费者”模式
多线程详解