Java并发编程-24-创建Fork/Join线程池

本文介绍了如何创建和使用Fork/Join线程池,包括创建ForkJoinPool,实现ForkJoinTask子类,以及execute、invoke和invokeAll等方法的异步和同步特性。通过模拟商品价格修改来展示Fork/Join框架提高并发效率的原理。
摘要由CSDN通过智能技术生成

一、使用Fork/Join的步骤

1、创建用来执行任务的ForkJoinPool对象

2、创建即将在线程池中被执行的任务ForkJoinTask子类/或者ForkJoinAction子类

3、实现上述子类的compute方法,对任务的分解

4、调用ForkJoinPool对象的execute()方法执行任务


二、方法说明

1、Fork/Join---invokeAll()方法用来执行一个主任务所创建的子任务。这是一个同步调用。这个任务将等待子任务完成,然后继续执行或者结束

2、当一个主任务等待它的子任务时,执行这个主任务的工作者线程接收另一个等待执行的任务并开始执行,这就是Fork/Join框架比Runnable和Callable对象更加高效的原因

3、执行器框架的invokeAll()方法,必须将任务发送给执行器,Fork/Join中,任务的控制是在线程池中进行的

4、invoke()方法:这个方法是同步调用的,必须等到传进来的任务执行完毕才会返回

5、execute()方法:这个方法是异步调用的


三、模拟对商品价格的修改

package com.currency.forkandjoin;

/**
 * 产品类&#x
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值