ThreadLocal
ThreadLocal 类似于 hashMap
k值为当前线程名称
ThreadLocal.get() //获取值
ThreadLoacl.set() //设置值
当多次设置 值时 后面会替换前面的值
ThreadLoal 用来存储当前线程中的数据
因此不同线程的数据是隔离的 因此可以实现线程隔离
线程的生命周期
对象锁 object
当使用线程同步锁的时候
synchronisation 使用类作为锁时
obj.wait 等待 等待 obj.notify 唤醒
Lock 唤醒和等待
ReentrantLock lock = new ReentrantLock();
Condition condition = lock.newCondition();
condition.signalAll(); //唤醒全部
condition.await(); //等待