死锁的现象:
过多的同步,可能造成死锁现象
多线程间的通信
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中
讲师笔记,Java基础学习之路之day26——线程wait,sleep,死锁,生产者,消费者
猜你喜欢
转载自blog.csdn.net/u011189148/article/details/81417225
今日推荐
周排行