完结多线程与高并发2021
└─0 多线程第二版
└─├─0 线程基础知识(一)
└─│ ├┈1 多线程内容特点以及学习方法-.mp4
└─│ ├┈10 线程数是不是越大越好_1-.mp4
└─│ ├┈2 从一则招聘谈起-.mp4
└─│ ├┈3 线程的历史-CPU性能压榨的血泪史-.mp4
└─│ ├┈4 大厂必问_什么是进程线程纤程-.mp4
└─│ ├┈5 从底层角度理解什么是进程-.mp4
└─│ ├┈6 从通俗角度理解什么是线程-.mp4
└─│ ├┈7 从底层角度理解什么是线程.-.mp4
└─│ ├┈8 什么是线程的切换-.mp4
└─│ └┈9 单核CPU设定多线程是否有意义-.mp4
└─├─1 线程基础知识(二)
└─│ ├┈1 线程数是不是越大越好_2-.mp4
└─│ ├┈2 线程数设多少最合适_1-.mp4
└─│ ├┈3 线程数设多少最合适_2-.mp4
└─│ ├┈4 线程数设多少最合适_3-.mp4
└─│ ├┈5 线程数设多少最合适_4-.mp4
└─│ ├┈6 线程数设多少最合适_5-.mp4
└─│ ├┈7 线程数设多少最合适_6-.mp4
└─│ └┈8 阶段小结-.mp4
└─├─10 并发编程之有序性(二)
└─│ ├┈1 this对象逸出_02-.mp4
└─│ ├┈2 this对象逸出_03-.mp4
└─│ └┈3 this对象逸出_04-.mp4
└─├─2 面试题:创建线程的5种方法
└─│ ├┈1 创建线程的5种方法开篇-.mp4
└─│ ├┈2 Thread_Runnable_Lambda-.mp4
└─│ ├┈3 使用ThreadPool-.mp4
└─│ ├┈4 线程池和Callable-.mp4
└─│ ├┈5 运用FutureTask-.mp4
└─│ └┈6 阶段总结-.mp4
└─├─3 线程状态
└─│ ├┈1 线程状态开篇-.mp4
└─│ ├┈2 6种线程状态的简介-.mp4
└─│ ├┈3 线程状态迁移简介-.mp4
└─│ ├┈4 NEW_RUNNABLE_TERMINATED-.mp4
└─│ ├┈5 WAITING_TIMEDWAITING-.mp4
└─│ ├┈6 BLOCKED-.mp4
└─│ ├┈7 线程状态在Lock和synchronized的区别-.mp4
└─│ ├┈8 park之后的线程状态-.mp4
└─│ └┈9 线程状态阶段总结-.mp4
└─├─4 线程打断inerrupt
└─│ ├┈1 线程的interruption开篇-.mp4
└─│ ├┈10 interrupt_阶段总结-.mp4
└─│ ├┈2 线程打断3方法-.mp4
└─│ ├┈3 interrupt_and_isInterrupted-.mp4
└─│ ├┈4 interrupt_and_interrupted-.mp4
└─│ ├┈5 interrupt_and_sleep-.mp4
└─│ ├┈6 interrupt_and_wait-.mp4
└─│ ├┈7 interrupt_and_synchronized-.mp4
└─│ ├┈8 interrupt_and_lock-.mp4
└─│ └┈9 interrupt_and_lockInterruptibly-.mp4
└─├─5 线程的结束
└─│ ├┈1 问题:如何优雅的结束一个正在运行的线程-.mp4
└─│ ├┈2 使用stop方法结束线程-.mp4
└─│ ├┈3 为什么不建议使用stop方法?-.mp4
└─│ ├┈4 suspend_resume-.mp4
└─│ ├┈5 为什么不建议使用suspend_resume-.mp4
└─│ ├┈6 volatile结束线程-.mp4
└─│ ├┈7 interrupt结束线程-.mp4
└─│ └┈8 阶段总结-.mp4
└─├─6 并发编程三大特性简介
└─│ └┈1 并发编程三大特性开篇-.mp4
└─├─7 并发编程之可见性(一)
└─│ ├┈1 从一个程序谈起-.mp4
└─│ ├┈10 通过程序认识缓存一致性_02-.mp4
└─│ ├┈2 可见性的基本概念-.mp4
└─│ ├┈3 用volatile保障可见性-.mp4
└─│ ├┈4 04_某些语句触发内存缓存同步刷新-.mp4
└─│ ├┈5 volatile修饰引用类型-.mp4
└─│ ├┈6 三级缓存_01-.mp4
└─│ ├┈7 三级缓存_02-.mp4
└─│ ├┈8 缓存行的基本概念-.mp4
└─│ └┈9 通过程序认识缓存一致性_01-.mp4
└─├─8 并发编程之可见性(二)
└─│ ├┈1 认识Disruptor中缓存行对齐的写法-.mp4
└─│ ├┈2 认识Contended-.mp4
└─│ ├┈3 认识硬件层面的缓存一致性-.mp4
└─│ ├┈4 为什么缓存一行是64字节?-.mp4
└─│ └┈5 阶段小结-.mp4
└─└─9 并发编程之有序性(一)
└─└─├┈1 并发编程之有序性_问题的提出-.mp4
└─└─├┈10 this对象逸出_01-.mp4
└─└─├┈2 乱序的验证-.mp4
└─└─├┈3 乱序的分析-.mp4
└─└─├┈4 为何会存在乱序-.mp4
└─└─├┈5 乱序的原则-.mp4
└─└─├┈6 通过一个小程序认识可见性和有序性_01-.mp4
└─└─├┈7 通过一个小程序认识可见性和有序性_02-.mp4
└─└─├┈8 对象的半初始化状态_01-.mp4
└─└─└┈9 对象的半初始化状态_02-.mp4