讲师笔记,Java基础学习之路之day26——线程wait,sleep,死锁,生产者,消费者

死锁的现象:
        过多的同步,可能造成死锁现象
    
    多线程间的通信
        wait():
            在多线程中,某个线程通过obj.wait()时,
            只能在另一个线程中,通过obj对象的notify()来唤醒
        wait(long time)
    
    wait 和 sleep 区别:
        1. 对象A.wait()  在调用wait()方法前 必须要先获取对象A的锁
           Thread.sleep() 不需要获取某个对象的锁
        
        2. sleep不会释放锁资源   wait会释放锁资源
        
        3. sleep进入阻塞状态  wait进入等待池
        
        4. sleep()自己唤醒自己
            wait() 必须由另一个线程 通过同一个对象的notify来唤醒
            
    
    生产者和消费者模式
    
    ThreadLocal 线程本地
        常用方法 :
            T get(): 获取当前线程对象的value
            set(T value):为当前线程对象保存键值对(key--当前线程 value--要保存的数据)
            remove(): 删除当前线程对应的键值对 从threadlocal中

猜你喜欢

转载自blog.csdn.net/u011189148/article/details/81417225