随笔分类 - JUC
摘要:
CompletableFuture 在 Java 里面被用于异步编程,异步通常意味着非阻塞,可以使得我们的任务单独运行在与主线程分离的其他线程中,并且通过回调可以在主线程中得到异步任务的执行状态,是否完成,和是否异常等信息 CompletableFuture 实现了 Future, Completi
阅读全文
CompletableFuture 在 Java 里面被用于异步编程,异步通常意味着非阻塞,可以使得我们的任务单独运行在与主线程分离的其他线程中,并且通过回调可以在主线程中得到异步任务的执行状态,是否完成,和是否异常等信息 CompletableFuture 实现了 Future, Completi
阅读全文
摘要:
将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果该算法相当于递归,且是二分查找思路 class Fibonacci extends RecursiveTask<Integer> { final int n; Fibonacci(int n) { this.n = n;
阅读全文
将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果该算法相当于递归,且是二分查找思路 class Fibonacci extends RecursiveTask<Integer> { final int n; Fibonacci(int n) { this.n = n;
阅读全文
摘要:
连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用 线程池(英语:thread pool)一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价
阅读全文
连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用 线程池(英语:thread pool)一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价
阅读全文
摘要:
阻塞队列是共享队列(多线程操作),一端输入,一端输出不能无限放队列,满了之后就会进入阻塞,取出也同理 当队列是空的,从队列中获取元素的操作将会被阻塞 当队列是满的,从队列中添加元素的操作将会被阻塞 试图从空的队列中获取元素的线程将会被阻塞,直到其他线程往空的队列插入新的元素 试图向已满的队列中添加新
阅读全文
阻塞队列是共享队列(多线程操作),一端输入,一端输出不能无限放队列,满了之后就会进入阻塞,取出也同理 当队列是空的,从队列中获取元素的操作将会被阻塞 当队列是满的,从队列中添加元素的操作将会被阻塞 试图从空的队列中获取元素的线程将会被阻塞,直到其他线程往空的队列插入新的元素 试图向已满的队列中添加新
阅读全文
摘要:
回顾悲观锁和乐观锁的概念悲观锁: 见字知意,他是干什么都很悲观,所以在操作的时候,每次都上锁,使用时解锁乐观锁:他很乐观,多线程,并不上锁,但是会发生 线程安全问题 表锁:整个表操作,不会发生死锁行锁:每个表中的单独一行进行加锁,会发生死锁读锁:共享锁(可以有多个人读),会发生死锁写锁:独占锁(只能
阅读全文
回顾悲观锁和乐观锁的概念悲观锁: 见字知意,他是干什么都很悲观,所以在操作的时候,每次都上锁,使用时解锁乐观锁:他很乐观,多线程,并不上锁,但是会发生 线程安全问题 表锁:整个表操作,不会发生死锁行锁:每个表中的单独一行进行加锁,会发生死锁读锁:共享锁(可以有多个人读),会发生死锁写锁:独占锁(只能
阅读全文
摘要:
该辅助类主要讲述三个减少计数CountDownLatch 循环栅栏 CyclicBarrier 信号灯Semaphore 1 CountDownLatch 该类的构造方法为CountDownLatch(int count)构造一个用给定计数初始化的CountDownLatch在这里插入代码片 两个常
阅读全文
该辅助类主要讲述三个减少计数CountDownLatch 循环栅栏 CyclicBarrier 信号灯Semaphore 1 CountDownLatch 该类的构造方法为CountDownLatch(int count)构造一个用给定计数初始化的CountDownLatch在这里插入代码片 两个常
阅读全文
摘要:
import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; /* * 一、创建执行线程的方式三:实现 Cal
阅读全文
import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; /* * 一、创建执行线程的方式三:实现 Cal
阅读全文
摘要:
某一个时刻内,只能有唯一 一个线程去访问这些synchronized 方法所有的静态同步方法用的也是同一把锁——类对象本身,这两把锁是两个不同的对象,所以静态同步方法与非静态同步方法之间是不会有竞态条件的但是一旦一个静态同步方法获取锁后,其他的静态同步方法都必须等待该方法释放锁后才能获取锁,而不管是
阅读全文
某一个时刻内,只能有唯一 一个线程去访问这些synchronized 方法所有的静态同步方法用的也是同一把锁——类对象本身,这两把锁是两个不同的对象,所以静态同步方法与非静态同步方法之间是不会有竞态条件的但是一旦一个静态同步方法获取锁后,其他的静态同步方法都必须等待该方法释放锁后才能获取锁,而不管是
阅读全文
摘要:
4.1集合不安全的问题 在讲解线程安全的之前,先看线程不安全的 实例 创建 ArrayList集合 并使用线程 再集合中添加元素获取元素 //创建ArrayList集合 List<String> list = new ArrayList<>(); for (int i = 0; i <30; i++
阅读全文
4.1集合不安全的问题 在讲解线程安全的之前,先看线程不安全的 实例 创建 ArrayList集合 并使用线程 再集合中添加元素获取元素 //创建ArrayList集合 List<String> list = new ArrayList<>(); for (int i = 0; i <30; i++
阅读全文
摘要:
案列:启动三个线程,按照如下要求:AA打印5此,BB打印10次,CC打印15次,一共进行10轮 具体思路: 每个线程添加一个标志位,是该标志位则执行操作,并且修改为下一个标志位,通知下一个标志 位的线程 创建一个可重入锁private Lock lock = new ReentrantLock();
阅读全文
案列:启动三个线程,按照如下要求:AA打印5此,BB打印10次,CC打印15次,一共进行10轮 具体思路: 每个线程添加一个标志位,是该标志位则执行操作,并且修改为下一个标志位,通知下一个标志 位的线程 创建一个可重入锁private Lock lock = new ReentrantLock();
阅读全文
摘要:
3.1什么是线程通信以及实现步骤 线程间通信的模型有两种:共享内存和消息传递线程通信其实就是 ,实现线程的交替工作,并传递信息 线程间的通信具体步骤:(涉及上中下部) 创建资源类,在资源类中船舰属性和操作方法在资源类操作方法:判断、操作、通知创建多个线程,调用资源类的操作方法防止虚拟唤醒问题 (if
阅读全文
3.1什么是线程通信以及实现步骤 线程间通信的模型有两种:共享内存和消息传递线程通信其实就是 ,实现线程的交替工作,并传递信息 线程间的通信具体步骤:(涉及上中下部) 创建资源类,在资源类中船舰属性和操作方法在资源类操作方法:判断、操作、通知创建多个线程,调用资源类的操作方法防止虚拟唤醒问题 (if
阅读全文
摘要:
一、 复习synchronized 他是Java的关键字,是一种同步锁,能够修饰 一个 对象,变量,方法, 来控制这个所修饰的,被顺序的访问, 1.1 多线程的编程步骤: 第一:创建一个资源类,属性和操作方法 第二:创建多线程,调用类里面的操作方法 结合synchronized 锁 和 多线程的编程
阅读全文
一、 复习synchronized 他是Java的关键字,是一种同步锁,能够修饰 一个 对象,变量,方法, 来控制这个所修饰的,被顺序的访问, 1.1 多线程的编程步骤: 第一:创建一个资源类,属性和操作方法 第二:创建多线程,调用类里面的操作方法 结合synchronized 锁 和 多线程的编程
阅读全文
摘要:
所谓JUC是java.util .concurrent 工具包的简称这是一个处理线程的工具包可以实现多线程高并发的内容 。 了解该部分内容先了解线程与进程的相关概念(操作系统) 以及涉及到的lambda表达式函数的概念 进程: 数据集合 在 一个程序 的一次运行 线程: 一个进程的 很多小分支,完成
阅读全文
所谓JUC是java.util .concurrent 工具包的简称这是一个处理线程的工具包可以实现多线程高并发的内容 。 了解该部分内容先了解线程与进程的相关概念(操作系统) 以及涉及到的lambda表达式函数的概念 进程: 数据集合 在 一个程序 的一次运行 线程: 一个进程的 很多小分支,完成
阅读全文

浙公网安备 33010602011771号