随笔分类 - JUC并发
摘要:forkjoin框架 一:简介 从JDK1.7开始,Java提供Fork/Join框架用于并行执行任务,它的思想就是讲一个大任务分割成若干小任务,最终汇总每个小任务的结果得到这个大任务的结果。 这种思想和MapReduce很像(input --> split --> map --> reduce -
阅读全文
摘要:join的探究 首先明确join的作用:t.join()方法只会使主线程(或者说是t.join()的线程)进入等待池并等待t线程执行完毕后才被唤醒。但是并不会影响同一时刻其他处在运行状态的线程。 下面来分析一下有无join()的差别: 无join时: // 资源类 package com.join;
阅读全文
摘要:wait/notify之虚假唤醒(二) 一:sleep和wait的区别 讲这个虚假唤醒之前先来详细说明sleep和wait之间的区别 1:sleep是Thread线程类中的方法,为wait是Object类中的方法 2:sleep方法不会释放锁,但是wait会释放锁 3:sleep可以单独放在很多地方
阅读全文
摘要:Java中的线程池 一、线程池的底层原理 1.1 先来了解一下原理 先放一张图片上来,看看线程池工作的核心步骤 1:)当任务提交的时候,先判断核心线程池是否已经满了,如果没有满,则直接创建线程执行任务 2:)如果核心线程池满了,则会把多余的任务放在我们定义的阻塞队列中,判断阻塞队列是否已经满了 3:
阅读全文
摘要:java中的并发工具类 一:等待多线程完成的CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成操作。 package com.fuzhulei;import java.util.concurrent.*;/** * 减法计数器,主要是countDown(计
阅读全文
摘要:虚假唤醒的概念 jdk官方文档解释: 所以说在wait和notify一块使用时,如果使用if作为条件时,会有虚假唤醒的情况发生,所以必须使用while作为循环条件。下面来举例实验: 首先,创建一个资源类:(在多线程中,一般都是资源类和线程操作解耦,不放在用同一个类中,只有在线程操作资源类时,才会创建
阅读全文
摘要:一:什么是JUC JUC就是java.util.concurrent下面的类包,专门用于多线程的开发。 二:进程和线程的区别 进程是可并发执行的程序在某个数据集合上的一次计算活动,也是操作系统进行资源分配和调度的基本单位。 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运
阅读全文

浙公网安备 33010602011771号