带你一次搞明白Java多线程(2021/4/19)

带你一次搞明白Java多线程,该套课程一共11个章节,为视频课程,附带相关资料。

带你一次搞明白Java多线程(2021/4/19)

目录

├─带你一次搞明白Java多线程(一)
│      1-1 进程线程与主线程的概念  
│      1-2 串行并发与并行  
│      2-1 以继承Thread类的形式创建线程  
│      2-10 yield方法放弃CPU资源  
│      2-11 setPriority设置线程优先级  
│      2-12 interrupt中断线程  
│      2-13 setDaemon设置守护线程.  
│      2-2 多线程运行结果是随机的  
│      2-3 实现Runnable接口的形式创建线程  
│      2-4 currentThread方法  
│      2-5 currentThread的一个复杂案例  
│      2-6 isAlive方法测试线程活动状态  
│      2-7 sleep方法线程休眠  
│      2-8 使用sleep方法设计一个倒计时器  
│      2-9 getid方法获得线程编号  
│      3-1 线程生命周期介绍  
│      3-2 线程状态图  
│      3-3 多线程的优势  
│      3-4 多线程编程存在的问题与风险  
│      
├─带你一次搞明白Java多线程(七)
│      1-1 tryLock()方法可以避免死锁  
│      1-10 hasQueuedThread查询指定的线程是否在等待获得锁  
│      1-11 hasWaiters查询是否有线程正在等待指定以Condition条件  
│      1-12 isHeldByCurrentThread判断锁是否被当前线程持有  
│      1-13 isLocked()判断锁是否被线程持有  
│      1-2 Condition实现等待与通知  
│      1-3 使用多个Condition实现通知部分线程  
│      1-4 Condition实现两个线程交替打印  
│      1-5 Condition实现多对多的生产者与消费者模式  
│      1-6 公平锁与非公平锁  
│      1-7 getHoldCount方法  
│      1-8 getQueueLength返回等待锁的线程数  
│      1-9 getWaitQueueLength返回在Condition条件上等待的线程预估数  
│      
├─带你一次搞明白Java多线程(三)
│      1-1 线程同步机制简介  
│      1-2 锁概述  
│      1-3 锁的作用  
│      1-4 锁的相关概念  
│      2-1 synchronized关键字介绍  
│      2-10 死锁  
│      2-2 同步代码块this锁对象  
│      2-3 锁对象不同不能实现同步  
│      2-4 使用常量作为锁对象  
│      2-5 同步实例方法  
│      2-6 同步静态方法  
│      2-7 与同步方法比同步代码块执行效率高  
│      2-8 脏读  
│      2-9 线程出现异常会自动释放锁  
│      3-1 volatile的作用  
│      3-2 volatile与synchronized的区别  
│      3-3 volatile不具备原子性  
│      3-4 使用原子类进行自增操作  
│      
├─带你一次搞明白Java多线程(九)
│      1-1 捕获线程的运行异常  
│      1-2 设置线程异常的回调接口  
│      1-3 注入Hook钩子线程  
│      2-1 什么是线程池  
│      2-2 JDK提供与线程池相关的API  
│      2-3 线程池的基本使用  
│      2-4 线程池的计划任务  
│      2-5 核心线程池的底层实现-1  
│      2-6 核心线程池的底层实现-2  
│      2-7 核心线程池的底层实现-3  
│      2-8 线程池的拒绝策略  
│      
├─带你一次搞明白Java多线程(二)
│      1-1 线程的原子性1  
│      1-2 线程的原子性2  
│      2-1 线程可见性1  
│      2-2 线程可见性2  
│      3-1 线程有序性之重排序概念  
│      3-2 线程有序性之指令重排序  
│      3-3 线程有序性之存储子系统重排序1  
│      3-4 线程有序性之存储子系统重排序2  
│      3-5 貌似串行语义  
│      3-6 保证内存访问顺序  
│      4-1 Java内存模型1  
│      4-2 Java内存模型2  
│      
├─带你一次搞明白Java多线程(五)
│      1-1 interrupt会中断线程的wait等待  
│      1-2 notify()与notifyAll()方法区别  
│      1-3 wait(long)方法的使用  
│      1-4 通知过早  
│      1-5 wait条件发生了变化1  
│      1-6 wait条件发生了变化2  
│      2-1 生产者-消费者模式之操作值  
│      2-2 一生产一消费操作值  
│      2-3 多生产多消费操作值  
│      2-4 一生产一消费操作栈1  
│      2-5 多生产多消费操作栈2  
│      2-6 通过管道流实现线程间通信1  
│      
├─带你一次搞明白Java多线程(八)
│      1-1 读写锁概述  
│      1-2 读写锁的基本使用  
│      1-3 读读共享  
│      1-4 写写互斥  
│      1-5 读写互斥  
│      2-1 线程组概述  
│      2-2 创建线程组  
│      2-3 线程组的基本操作  
│      2-4 复制线程组中的内容  
│      2-5 批量中断线程组中的线程  
│      2-6 设置守护线程组  
│      
├─带你一次搞明白Java多线程(六)
│      1-1 ThreadLocal的基本使用  
│      1-2 ThreadLocal应用  
│      1-3 ThreadLocal指定初始值  
│      2-1 介绍锁的可重入性  
│      2-2 Lock显示锁的基本使用1  
│      2-3 Lock显示锁的基本使用2  
│      2-4 ReentrantLock锁的可重入性  
│      2-5 lockInterruptibly方法的使用  
│      2-6 lockInterruptibly方法可以解决死锁问题(上)  
│      2-7 lockInterruptibly方法可以解决死锁问题(下)  
│      2-8 tryLock() 方法的基本使用1  
│      2-9 tryLock() 方法的基本使用2  
│      
├─带你一次搞明白Java多线程(十一)
│      1-1 保障线程安全设计技术之局部变量  
│      1-2 保障线程安全设计技术之无状态对象  
│      1-3 保障线程安全设计技术之不可变对象  
│      1-4 保障线程安全设计技术之线程特有对象  
│      1-5 保障线程安全设计技术之装饰器模式  
│      2-1 提高锁性能的建议之减少锁的持有时间  
│      2-2 提高锁性能的建议之减小锁粒度  
│      2-3 提高锁性能的建议之使用读写锁代替独占锁  
│      2-4 提高锁性能的建议之锁分离  
│      2-5 提高锁性能的建议之锁粗化  
│      3-1 JVM对锁的优化之锁偏向  
│      3-2 JVM对锁的优化之轻量级锁  
│      
├─带你一次搞明白Java多线程(十)
│      1-1 ThreadFactory线程工厂  
│      1-2 监控线程池(超时了)  
│      1-3 扩展线程池1  
│      1-4 扩展线程池2  
│      1-5 优化线程池大小  
│      1-6 线程池死锁  
│      1-7 线程池中的异常跟踪1  
│      1-8 线程池中的异常跟踪2  
│      2-1 ForkJoinPool线程池1  
│      2-2 ForkJoinPool线程池2  
│      2-3 ForkJoinPool线程池3  
│      
└─带你一次搞明白Java多线程(四)
        1-1 CAS简介  
        1-2 使用CAS实现线程安全的计数器  
        1-3 CAS中的ABA问题  
        2-1 原子变量类概述  
        2-2 使用AtomicLong定义计数器  
        2-3 模拟用户请求  
        2-4 AtomicIntegerArray的基本操作  
        2-5 多线程中使用原子数组  
        2-6 AtomicIntegerFiledUpdater更新字段  
        2-7 AtomicReference原子操作对象  
        2-8 演示AtomicReference中的ABA问题  
        2-9 使用AtomicStampedReference解决CAS中的ABA问题  
        3-1 什么是等待通知机制  
        3-2 等待通知机制的实现  
        3-3 wait方法的基本使用  
        3-4 使用notify唤醒线程  
        3-5 notify不会立即释放涣对象

获取方式

给TA打赏
共{{data.count}}人
人已打赏
个人中心
今日签到
有新私信 私信列表
搜索