摘要: 生命周期:线程也是有生命周期的,也是存在不同的状态的,状态相互之间的转换。 新建状态,就绪状态,运行状态,阻塞状态,死亡状态。 有人把阻塞状态,等待状态,计时等待状态合称为阻塞状态。 线程对象的状态存放在Thread类的内部类(State)中: 注意:Thread.State类其实是一个枚举类。因为 阅读全文
posted @ 2017-03-12 11:56 wenxudong 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 多线程通信的时候很容易造成死锁,死锁无法解决只能避免: 当A线程等待由B线程持有的锁,而B线程正在等待A线程持有的锁时,发生死锁现象,JVM不检测也不避免这种情况,所以程序员必须保证不导致死锁。 避免死锁法则:当多个线程都要访问共享的资源A,B,C时,保证每一个线程都按照相同的顺序去访问他们,比如都 阅读全文
posted @ 2017-03-12 10:55 wenxudong 阅读(212) 评论(0) 推荐(0) 编辑
摘要: wait和notify方法,只能被同步监听锁对象来调用,否则报错。 那么问题来了,Lock机制根本就没有同步锁了,也就没有自动获取锁和自动释放锁的概念。 因为没有同步锁,所以Lock机制不能调用wait和notify方法。 解决方案:java5中提供了Lovk机智的同时提供了处理Lock机制的通信控 阅读全文
posted @ 2017-03-12 10:34 wenxudong 阅读(176) 评论(0) 推荐(0) 编辑