- 浏览: 550389 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (344)
- ··············未分类············· (33)
- Eclipse 插件 (15)
- EDA 工具 (1)
- Linux/Unix (3)
- Java (43)
- Java Applet (1)
- Java Draw2d (22)
- Java Draw2d version2 (6)
- Java GEF (2)
- Java SWT (21)
- Java SWT Image 图像 (21)
- Java SWT Tree (16)
- Java SWT Table (4)
- Java SWT TableViewer (11)
- Java SWTbot (4)
- Java Test (2)
- Java Thread 多线程 (22)
- Java Zest (5)
- RC2_3S400学习笔记 (16)
- tcl 脚本 (10)
- Verilog (7)
- XML (6)
- 国家 (5)
- 感叹 (4)
- 面试题 (9)
- 生活 (36)
- 足球 世界杯 (8)
- 老公看你的 (3)
- web开发 (1)
- 数据结构——图 (7)
- c language (1)
最新评论
-
zxjlwt:
路过素人派http://surenpi.com
SWT 树的事件 SWT.Selection SWT.CHECK SWT.DefaultSelection -
hj01kkk:
1楼用法正解
JDK 7 中的 Fork/Join 模式 -
fish_no7:
使用 new SortTask().fork()
JDK 7 中的 Fork/Join 模式 -
wpf523:
mark
Java 多线程例子6 线程安全 线程同步 同步代码块 同步函数 -
uniquejava:
以前碰到过,估计是在icu包中实现了双击自动选中一段文本的功能 ...
java.lang.NoClassDefFoundError: com/ibm/icu/text/BreakIterator
参考1:http://www.ibm.com/developerworks/cn/java/j-lo-forkjoin/#list1
JDK 7 中的 Fork/Join 模式
参考2:http://www.ibm.com/developerworks/cn/java/j-jtp11137.html
Java 理论与实践: 应用 fork-join 框架
参考3:http://www.ibm.com/developerworks/cn/java/j-jtp03048.html
Java 理论与实践: 应用 fork-join 框架,第 2 部分
参考4:http://www.ibm.com/developerworks/cn/java/j-java7.html
Java 技术,IBM 风格: Java 技术的新纪元
看看了《JDK 7 中的 Fork/Join 模式》本来想试一试,结果没有试出来。盼高手指点:SortTask中找不到coInvoke函数了。
程序是:
public class TestForkJoinSimple { private static final int NARRAY = 16; //For demo only long[] array = new long[NARRAY]; Random rand = new Random(); @Before public void setUp() { for (int i = 0; i < array.length; i++) { array[i] = rand.nextLong()%100; //For demo only } System.out.println("Initial Array: " + Arrays.toString(array)); } @Test public void testSort() throws Exception { ForkJoinTask sort = new SortTask(array); ForkJoinPool fjpool = new ForkJoinPool(); fjpool.submit(sort); fjpool.shutdown(); fjpool.awaitTermination(30, TimeUnit.SECONDS); assertTrue(checkSorted(array)); } boolean checkSorted(long[] a) { for (int i = 0; i < a.length - 1; i++) { if (a[i] > (a[i + 1])) { return false; } } return true; } } class SortTask extends RecursiveAction { final long[] array; final int lo; final int hi; private int THRESHOLD = 0; //For demo only public SortTask(long[] array) { this.array = array; this.lo = 0; this.hi = array.length - 1; } public SortTask(long[] array, int lo, int hi) { this.array = array; this.lo = lo; this.hi = hi; } protected void compute() { if (hi - lo < THRESHOLD) sequentiallySort(array, lo, hi); else { int pivot = partition(array, lo, hi); System.out.println("\npivot = " + pivot + ", low = " + lo + ", high = " + hi); System.out.println("array" + Arrays.toString(array)); coInvoke(new SortTask(array, lo, pivot - 1), new SortTask(array, pivot + 1, hi)); } } private int partition(long[] array, int lo, int hi) { long x = array[hi]; int i = lo - 1; for (int j = lo; j < hi; j++) { if (array[j] <= x) { i++; swap(array, i, j); } } swap(array, i + 1, hi); return i + 1; } private void swap(long[] array, int i, int j) { if (i != j) { long temp = array[i]; array[i] = array[j]; array[j] = temp; } } private void sequentiallySort(long[] array, int lo, int hi) { Arrays.sort(array, lo, hi + 1); } }
详细说明看参考1,需要jdk6和JSR-166y(http://g.oswego.edu/dl/concurrency-interest/)。
发表评论
-
多线程的Wait返回它等待的下方
2014-08-15 14:16 515多线程的Wait返回它等待的下方。 Java Code ... -
多线程构造函数
2014-04-04 11:50 2043http://hi.baidu.com/tengxiaofe ... -
关于volatile
2013-01-28 13:24 573Volatile修饰的成员变量在每次被线程访问时,都强迫从共享 ... -
Java 多线程例子10 线程之间通信 wait notify notifyAll
2010-07-26 11:24 1273回答问题:http://www.iteye.com/probl ... -
java Thread 停止 开始 暂停
2010-07-23 15:07 241251,写了一个小程序: public class TestTh ... -
【转载】java Timer TimerTask
2010-07-22 11:31 17851,Timer Timer的实质上就是一个多线程,从它的类中 ... -
【转载】DelayQueue 的使用
2010-07-20 20:15 1295原文:http://ideasforjava.iteye.co ... -
多线程 CyclicBarrier
2010-07-20 19:38 919原文:http://blog.csdn.net/qian_34 ... -
java多线程 Semaphore CountDownLatch ScheduledExecutorService
2010-07-20 17:06 1800参考:http://www.ibm.com/developer ... -
java多线程 BlockingQueue 和 SynchronousQueues
2010-07-20 15:30 1424参考:http://www.ibm.com/developer ... -
利用多核CPU计算大的列表中的整数和 CyclicBarrier CountDownLatch ExecutorService
2010-07-20 14:12 1259原文:http://flysnow.iteye.c ... -
Java 多线程例子10 控制线程的生命 stop
2010-07-19 21:13 1274在Thread类中stop已经不推荐大家使用了,因为使用sto ... -
Java 多线程例子9 线程之间通信 wait notify notifyAll
2010-07-19 20:07 2815下面参照《Java就业培训教材》写了一个相似的线程之间通信的例 ... -
Java 多线程例子8 线程状态
2010-07-19 17:27 1194原文:http://shihaiyang.iteye.com/ ... -
Java 多线程例子7 线程安全 死锁
2010-07-19 17:07 1472死锁:在多个线程里对多个同步对象具有循环依赖时常会出现死锁。最 ... -
Java 多线程例子6 线程安全 线程同步 同步代码块 同步函数
2010-07-18 18:06 2214线程安全 出现线程安 ... -
Java 多线程例子5 实际例子的讨论
2010-07-18 15:18 9881,网络聊天程序,如QQ。 发送信息和接受信息肯定要连个线程 ... -
Java 多线程例子4 继承Thread 实现Runnable
2010-07-16 19:48 16741,Runnable例子 class ThreadDemo ... -
Java 多线程例子3 联合线程 join()
2010-07-16 17:57 22361,联合线程实际上就是 ... -
Java 多线程例子2 前台线程(用户线程) 后台线程(守护线程 ) setDaemon
2010-07-16 15:16 28451,setDaemon(true)后就是后台线程(守护线程 ) ...
相关推荐
随着多核时代的来临,软件开发人员不得不开始关注并行编程领域。...本文将介绍使用 JDK 7 中 Fork/Join 模式的方法和其他相关改进。阅读本文之后,读者将能够独立地在软件开发中使用 Fork/Join 模式来改进程序的性能。
新特性主要涉及:对于JDK7中Fork/Join并行处理的升级;支持Lambda表达式;添加了Stream API;对于注解的拓展,加入了类型注解、重复注解;在G1回收器中支持字符串去重;内存空间中删除了永久代,引入了元空间。
1.1 JDK7新特性<一>概述 ....1.5 JDK7新特性<五> fork/join 框架 . . . . . 1.6 JDK7新特性<六> 监听文件系统的更改 1.7 JDK7新特性<七> 遍历文件树 . . . . . . . 1.8 JDK7新特性<八>异步io/AIO . . . . . . . .
在Java 7中,catch代码块得到了升级,用以在`单个catch块中处理多个异常`。如果你要捕获多个异常并且它们包含相似的代码,使用这一特性将会减少代码重复度。 ``` try { //xxx } catch (AException | BException e)...
JDK1.7新特性介绍 1. 对Java集合(Collections)的增强支持 2. 在Switch中可用String 在JDK7 的正式版本中,你可以在switch的表达式中用String类型 ...9. 增加了fork/join框架来增强对处理多核并行计算的支持
一、 Fork/Join框架的介绍 21 1、实现步骤: 22 2、工作窃取算法 22 3、分而治之 23 4、Fork/Join使用的标准范式 24 5、Fork/Join框架的异常处理 26 6、Fork/Join框架的实现原理 26 二、闭锁CountDownLatch 28 1、...
介绍了ForkJoin并发框架,供有java基础者学习,工作配合使用,附件带有PPT,介绍并发与并行区别,和ForkJoin代码范例,资源来自网络,分享分享!
7 特性,例如 和 。 它是内置的,只能与 . 随着 JDK 8 中 lambda 及其支持特性的引入,我们用 Java 构建软件的方式将发生变化。 如果您想了解几年后您的 Java 代码会是什么样子,您可以查看 Wordcounter。 与目前...
6、对多核处理器的支持:JDK 7提供了对多核处理器的支持,包括fork-join框架,以帮助开发人员更轻松地编写并行代码。 总的来说,JDK 7是一个重要的Java版本,具有许多改进的特性,提高了Java的性能,安全性和开发...
java7有一些比较重要的更新,如异常处理增加了被抑制的异常、捕获多异常、try-with-resource自动释放资源等,还有应用了G1垃圾回收器、switch可以使用String类型、泛型自动判断类型、fork/join框架把任务细分并使用...
I.背景实际项中,使并发的个case就是商品详情页的展了,个详情页的展,除了基本的商品数据之外,还有销量,地址,评价,推荐,店铺信息,装饰信息等,段伪代码来描述
同时,它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用 fork/join 并行方式来拆分任务和加速处理过程。 所以说,Java 8 中首次出现的 java.util.stream 是一个函数式语言+多核...
java8 源码 SpringTree springboot mybatis mysql zookeeper ...采用工作窃取模式(当前线程任务执行完成,可窃取其他线程的执行任务),将大任务分解成多个小任务,最后将结果join 7:分布式锁 red
The directory <Java home>/sample/forkjoin/ contains samples that demonstrate the fork/join framework. The ThreadLocalRandom class eliminates contention among threads using pseudo-random numbers; see ...
1. 介绍JDK7比JDK6新增的Java语言特性.2. 介绍JDK7的库增强功能. 3. 提供使用场景,例子参考说明.4. 熟悉JDK7新特性和库对Android开发(基于Java语言)更加得心应手。 5. 熟悉JDK7新特性能方便进行Java底层开发,比如...
高性能并发编程:JDK 11引入了一批新的并发处理库和工具,如VarHandles和ForkJoin框架的改进,使得多线程编程更加高效和简洁。 安全性提升:JDK 11在安全性方面进行了大量改进,包括对密钥管理、证书验证、安全协议...
第43节Future设计模式实现(实现类似于JDK提供的Future)00:19:20分钟 | 第44节Future源码解读00:29:22分钟 | 第45节Fork/Join框架详解00:28:09分钟 | 第46节同步容器与并发容器00:18:44分钟 | 第47节并发容器...
第43节Future设计模式实现(实现类似于JDK提供的Future)00:19:20分钟 | 第44节Future源码解读00:29:22分钟 | 第45节Fork/Join框架详解00:28:09分钟 | 第46节同步容器与并发容器00:18:44分钟 | 第47节并发容器...
第43节Future设计模式实现(实现类似于JDK提供的Future)00:19:20分钟 | 第44节Future源码解读00:29:22分钟 | 第45节Fork/Join框架详解00:28:09分钟 | 第46节同步容器与并发容器00:18:44分钟 | 第47节并发容器...