Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.14 KB | None | 0 0
  1. package com.xqcx.boss;
  2.  
  3. import lombok.extern.slf4j.Slf4j;
  4.  
  5. import java.util.Date;
  6. import java.util.concurrent.ForkJoinPool;
  7. import java.util.concurrent.ForkJoinTask;
  8. import java.util.concurrent.RecursiveTask;
  9.  
  10. /**
  11. * Created by wangzp on 2017/6/10.
  12. * Copyright (c) 2017, zhongping.wang@xqchuxing.com All Rights Reserved.
  13. * Desc: (forkjoinPool įŽĄį†). <br/>
  14. */
  15. @Slf4j
  16. public final class ForkJoinPoolManager {
  17.  
  18. private static final ForkJoinPool pool;
  19.  
  20. static {
  21. pool = new ForkJoinPool(Runtime.getRuntime().availableProcessors() * 2);
  22. }
  23.  
  24. public static ForkJoinPool getPool () {
  25. return pool;
  26. }
  27.  
  28. public static void main(String[] args) {
  29. Long result = ForkJoinPoolManager.getPool().invoke(new RecursiveTask<Long> () {
  30. @Override
  31. protected Long compute() {
  32. ForkJoinTask<Long> t1 = new RecursiveTask<Long>() {
  33. @Override
  34. protected Long compute() {
  35. log.info("t1:" + Thread.currentThread().getName());
  36. log.info("t1 start:" + (new Date().toLocaleString()));
  37. long num = 0;
  38. for (int i = 0; i< 100000000; i ++) {
  39. num += i;
  40. }
  41. log.info("t1 end:" + (new Date().toLocaleString()));
  42. return num;
  43. }
  44. }.fork();
  45.  
  46. ForkJoinTask<Long> t2 = new RecursiveTask<Long>() {
  47. @Override
  48. protected Long compute() {
  49. log.info("t2:" + Thread.currentThread().getName());
  50. log.info("t2 start:" + (new Date().toLocaleString()));
  51. long num = 0;
  52. for (int i = 0; i< 100; i ++) {
  53. num += i;
  54. }
  55. log.info("t2 end:" + (new Date().toLocaleString()));
  56. return num;
  57. }
  58. }.fork();
  59.  
  60. return t1.join() + t2.join();
  61. }
  62. });
  63.  
  64.  
  65. System.out.println(result);
  66. }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement