异步编程利器:CompletableFuture
摘要:一、一个示例回顾Future 一些业务场景我们需要使用多线程异步执行任务,加快任务执行速度。 JDK5新增了Future接口,用于描述一个异步计算的结果。虽然 Future 以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便, 我们必须使用 **Future.get() **的
阅读全文
posted @
2022-05-09 22:07
雨点的名字
阅读(1324)
推荐(5) 编辑
java多线程(8)---阻塞队列
摘要:阻塞队列 再写阻塞列队之前,我写了一篇有关queue集合相关博客,也主要是为这篇做铺垫的。 网址:【java提高】 queue集合 在这篇博客中我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了Dequeue接口)。 使用非阻
阅读全文
posted @
2018-06-20 21:46
雨点的名字
阅读(1111)
推荐(1) 编辑
java多线程(7)---Condition
摘要:Condition 一、Condition概述 在线程的同步时可以使一个线程阻塞而等待一个信号,同时放弃锁使其他线程可以能竞争到锁。 在synchronized中我们可以使用Object的wait()和notify方法实现这种等待和唤醒。 在Lock可以实现相同的功能就是通过Condition。Co
阅读全文
posted @
2018-06-20 21:05
雨点的名字
阅读(1000)
推荐(2) 编辑
java多线程(6)---ThreadLocal
摘要:ThreadLocal 什么是ThreadLocal? 顾名思义它是local variable(线程局部变量)。它的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。 从线程的角度看,就好像每一个线程都完全拥有该变
阅读全文
posted @
2018-06-19 20:54
雨点的名字
阅读(1464)
推荐(2) 编辑
java多线程(5)---ThreadPoolExecutor
摘要:ThreadPoolExecutor 官方API解释线程池的好处: (1)通过重用线程池中的线程,来减少每个线程创建和销毁的性能开销。 (2)对线程进行一些维护和管理,比如定时开始,周期执行,并发数控制等等。 一、Executor Executor是一个接口,跟线程池有关的基本都要跟他打交道。下面是
阅读全文
posted @
2018-06-14 22:01
雨点的名字
阅读(1265)
推荐(0) 编辑
java多线程(4)---volatile关键字
摘要:volatile关键字 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 2)禁止进行指令重排序。 想要深刻的理解这两句话,首先得了解
阅读全文
posted @
2018-06-13 20:48
雨点的名字
阅读(1121)
推荐(1) 编辑
java多线程(3)---synchronized、Lock
摘要:synchronized、Lock 一、概述 1、出现线程不安全的原因是什么? 如果我们创建的多个线程,存在着共享数据,那么就有可能出现线程的安全问题:当其中一个线程操作共享数据时,还未操作完成,另外的线程就参与进来,导致对共享数据的操作出现问题。 2、线程不安全解决办法 要求一个线程操作共享数据时
阅读全文
posted @
2018-06-12 21:34
雨点的名字
阅读(1527)
推荐(0) 编辑
java多线程(2)---生命周期、线程通讯
摘要:java生命周期、线程通讯 一、生命周期 有关线程生命周期就要看下面这张图,围绕这张图讲解它的方法的含义,和不同方法间的区别。 1、yield()方法 yield()让当前正在运行的线程回到就绪,以允许具有相同优先级的其他线程获得运行的机会。但是,实际中无法保证yield()达到让步的目的,因为,让
阅读全文
posted @
2018-06-11 22:08
雨点的名字
阅读(1593)
推荐(3) 编辑
java多线程(1)---线程创建、start、run
摘要:线程创建、start、run 一、创建线程方式 java创建线程的方式,主要有三种:类Thread、接口Runnable、接口Callable。 1、Thread和Runnable进行比较 他们之间的区别 1、实现Runnable的类更具有健壮性,避免了单继承的局限。 2、Runnable更容易实现
阅读全文
posted @
2018-06-11 21:13
雨点的名字
阅读(2034)
推荐(3) 编辑