
并发编程
文章平均质量分 94
并发编程
普通人zzz~
除了成功,别无选择
展开
-
Future、Callable and CompletableFuture
一、Callable二、FutureFuture 的主要方法一、CallableCallable 接口类似于 Runnable,但是 Runnable 不会返回结果,并且无法抛出返回结果的异常,而 Callable 功能更强大一些,被线程执行后,可以返回值,这个返回值可以被 Future 拿到,也就是说,Future 可以通过 get()/get(long timeout, TimeUnit unit) 拿到异步执行任务的返回值.@FunctionalInterfacepublic interfa.原创 2021-08-01 12:23:24 · 559 阅读 · 0 评论 -
Fork / Join 框架的基本使用
Fork / Join框架1.概述2. Fork / Join 框架的基本使用2.1 执行流程图2.2 ForkJoinPool构造函数2.3 ForkJoinTask 类型2.4 fork() 和 join() 方法3. 工作窃取模式Fork / Join框架1.概述ForkJoin 是由JDK1.7后提供多线并发处理框架,ForkJoin 的框架的基本思想是将一个复杂的计算进行某种规则的拆分。使用 ForkJoin 将相同的计算任务通过多线程的进行执行。从而能提高数据的计算速度。2. Fork.原创 2021-07-04 23:12:16 · 492 阅读 · 0 评论 -
Java多线程
Java多线程线程阻塞和唤醒1. wait()、notify()/notifyAll()2. LockSupport(park()、unpark())3. conditionJ.U.C工具包1. CountDownLatch2. Semaphore3. CyclicBarrier共享锁、排他锁、重入锁线程阻塞和唤醒1. wait()、notify()/notifyAll()wait()、notify()/notifyAll() 一般是跟 synchronized 配合一起使用,这些方法都是Object原创 2021-06-20 23:24:11 · 155 阅读 · 1 评论 -
线程池ThreadPoolExecutor扩展
ThreadPoolExecutor 是可扩展的,它提供了几个可以在子类中改写的方法:beforeExecute、afterExecute、terminated。这些方法可以用于扩展ThreadPoolExecutor的行为。在执行任务的线程中会调用beforeExecute和afterExecute等方法,在这些方法中可以添加日志、计时、监视或统计信息收集等功能。新建一个线程池类,继承ThreadPoolExecutor,重写对应方法:beforeExecute:线程池中任务运行前执行。afte原创 2020-06-03 17:37:40 · 402 阅读 · 0 评论 -
并发编程ThreadPoolExecutor
线程池ThreadPoolExecutor1. 简介2. workQueue任务队列2.1 直接提交队列2.2 有界任务队列2.3 无界任务队列2.3.1 LinkedBlockingQueue2.3.2 LinkedBlockingDeque2.4 优先任务队列3. 拒绝策略1. 简介《阿里巴巴java开发手册》ThreadPoolExecutor的构造函数/** * 使用给定的初始参数创建一个新的{@code ThreadPoolExecutor}。 * @param corePoolSi原创 2020-06-03 17:33:40 · 273 阅读 · 2 评论 -
并发编程Executor框架
Executor框架1. Eexecutor 简介2. 涉及类及类之间的关系2.1 Runnable 接口2.2 Callable 接口2.3 Futrue 接口2.4 RunnableFuture 接口2.5 FutureTask 类2.6 RunnableScheduledFuture 接口2.7 Executor 接口2.8 ExecutorService 接口2.9 Executors 类1. Eexecutor 简介Eexecutor 作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行原创 2020-05-15 17:15:58 · 221 阅读 · 0 评论