202110-25 带你快速搞定java多线程(5) 目录1、介绍2、countdownlantch的用法。3、如何利用AQS实现CountDownLatch4、总结1、介绍CountDownLantch倒数计时器,一个同步辅助类,一个线程(或者多个),等待另外N个线程完成某个事情后才能执行。用给定的计数初始化CountDownLatch,其含义是要被等待执行完的线程个数。每次调用CountDown(),计数减1,执行到await()函数会阻塞等待线程的执行,直到计数为0。CountDownLantch无法重置2、countdownlantch的用法。举个例子场... 继续阅读 >
202110-25 带你快速搞定java多线程(4) 目录1、AQS是什么?2、AQS模型3、AQSstate4、AQS两种资源共享方式:5、模板方式实现自定义6、锁的分类:公平锁和非公平锁,乐观锁和悲观锁7、CAS8、总结1、AQS是什么?AQS是类AbstractQueuedSynchronizer的简称,也是常用锁的基类,比如常见的ReentrantLock,Semaphore,CountDownLatch等等。AQS提供了一种实现阻塞锁和一系列依赖FIFO等待队列的同步器的框架。是Java提供的一种模板,一般在现有同步器无法完成的时候可以自... 继续阅读 >
202110-25 带你快速搞定java多线程(3) 目录一、锁的概念二、synchronized的使用方式三、synchronized的实现原理列小结四、线程池是什么五、为什么要用线程池?六、看下类图,从整体上理解下七、线程池的创建八、线程池核心参数说明九、几个疑问点9.1、是怎么保证线程不销毁的?9.2提交任务有哪几种方式?9.3拒绝策略都有哪些?9.4线程池的关闭9.5初始化线程池时线程数的选择十、总结一、锁的概念先来聊聊这几个概念,总不能聊起来的时候啥也不知道,只知道干活也... 继续阅读 >
202110-25 带你快速搞定java多线程(2) 目录1、Future的类图结构,从整体上看下Future的结构2、future的使用,说的再多都么什么用,来个例子悄悄怎么用的。3、通俗理解4、原理5、总结1、Future的类图结构,从整体上看下Future的结构首先看下future接口的函数,共有5个方法。get()获取执行的结果,另外一个重载是有时间限制的get,如果超时会有异常isDone()判断future结果是否处理完成cancel取消任务2、future的使用,说的再多都么什么用,来个例子悄悄怎么用的... 继续阅读 >
202110-25 带你快速搞定java多线程 目录1、什么是线程2、线程的状态3、怎么通俗理解进程,线程?4、线程和进程的区别5、什么是线程安全6、如何创建线程总结:1、什么是线程线程是操作系统调度的最小单元,也叫轻量级进程。它被包含在进程之中,是进程中的实际运作单位。同一进程可以创建多个线程,每个进程都有自己独立的一块内存空间。并且能够访问共享的内存变量。2、线程的状态线程的状态一般看到的也就是Runable和blocked,最多的还是blocked,因为cpu的时间片... 继续阅读 >