【08】多线程
多线程
解惑先生
哦?
展开
-
【8】Disruptor框架
目录知识点1:什么是Disruptor知识点2:Disruptor的设计方案知识点3:Disruptor实现特征知识点4:Disruptor实现生产与消费1、Pom Maven依赖信息2、首先声明一个Event来包含需要传递的数据:3、需要让Disruptor为我们创建事件,我们同时还声明了一个EventFactory来实例化Event对象4、事件消费者,也就是一个...原创 2019-11-26 21:03:11 · 124530 阅读 · 0 评论 -
【7】Java锁机制
目录知识点1:重入锁知识点2:读写锁知识点3:悲观锁、乐观锁1、场景2、悲观锁与乐观锁(1)悲观锁(2)乐观锁知识点4:原子类1、为什么会有原子类2、如果同一个变量要被多个线程访问,则可以使用该包中的类3、CAS无锁模式(1)什么是CAS(2)CAS算法理解4、常用原子类5、CAS(乐观锁算法)的基本假设前提6、CAS缺点知识点5...原创 2019-11-26 20:49:47 · 122667 阅读 · 0 评论 -
【6】Callable和Future模式
目录知识点1:Callable知识点2:Future常用方法知识点3:Future模式知识点1:Callable在Java中,创建线程一般有两种方式,一种是继承Thread类,一种是实现Runnable接口。然而,这两种方式的缺点是在线程任务执行结束后,无法获取执行结果。我们一般只能采用共享变量或共享存储区以及线程通信的方式实现获得任务结果的目的。不过,Java中,也提...原创 2019-11-26 20:28:00 · 122657 阅读 · 0 评论 -
【5】线程池原理分析
目录知识点1:并发包1、(计数器)CountDownLatch2、(屏障)CyclicBarrier3、(计数信号量)Semaphore(1)案例4、并发队列5、阻塞队列与非阻塞队(1)ConcurrentLinkedDeque(2)BlockingQueue(3)ArrayBlockingQueue(4)LinkedBlockingQueue...原创 2019-11-22 22:16:15 · 122361 阅读 · 0 评论 -
【4】多线程之间实现通讯
目录知识点1:多线程之间如何实现通讯1、什么是多线程之间通讯?2、多线程之间通讯需求3、代码实现基本实现(1)共享资源源实体类(2)输入线程资源(3)输出线程(4)运行代码(5)解决线程安全问题知识点2:wait、notify方法知识点3:wait与sleep区别知识点4:Lock锁1、Lock写法2、Lock与synchronized 关键...原创 2019-11-22 21:48:42 · 122247 阅读 · 0 评论 -
【3】Java内存模型
目录知识点1:Java内存模型知识点2:Volatile1、什么是Volatile2、Volatile特性3、Volatile与Synchronized区别知识点3:重排序1、数据依赖性2、as-if-serial语义3、程序顺序规则4、重排序对多线程的影响知识点1:Java内存模型共享内存模型指的就是Java内存模型(简称JMM),JMM决定...原创 2019-11-22 21:15:16 · 122350 阅读 · 0 评论 -
【2】多线程线程安全
目录知识点1:什么是线程安全?1、为什么有线程安全问题?知识点2:线程安全解决办法1、内置的锁2、同步代码块synchronized3、同步方法(1)什么是同步方法?(2)同步方法使用的是什么锁?(3)静态同步函数知识点3:多线程死锁1、什么是多线程死锁?知识点4:Threadlocal1、什么是Threadlocal2、ThreadL...原创 2019-11-22 20:58:01 · 122511 阅读 · 0 评论 -
【1】多线程基础
目录知识点1:线程与进程区别知识点2:多线程应用场景知识点3:多线程创建方式1、继承Thread类 重写run方法2、实现Runnable接口,重写run方法3、使用匿名内部类方式知识点4:使用继承Thread类还是使用实现Runnable接口好?知识点5:启动线程是使用调用start方法还是run方法?知识点6:获取线程对象以及名称知识点7:守护线程知...原创 2019-11-22 20:34:24 · 122327 阅读 · 0 评论