zoukankan      html  css  js  c++  java
  • 多线程计算stream parallelStream

     1 import java.util.ArrayList;
     2 import java.util.List;
     3 import java.util.Random;
     4 
     5 /**
     6  * 多线程计算
     7  */
     8 public class ParallelStreamAPI {
     9 
    10     public static void main(String[] args) {
    11 
    12         List<Integer> nums = new ArrayList<>();
    13         Random random = new Random();
    14         for(int i=0; i<10000; i++) nums.add(1000000 + random.nextInt(1000000));
    15 
    16         long startTime = System.currentTimeMillis();
    17         nums.forEach(n -> {isPrime(n);});
    18         long endTime = System.currentTimeMillis();
    19         System.out.println("耗时:" + (endTime - startTime));
    20 
    21 
    22         //使用stream parallelStream
    23         startTime = System.currentTimeMillis();
    24         nums.parallelStream().forEach(n -> {isPrime(n);});
    25         endTime = System.currentTimeMillis();
    26         System.out.println("耗时:" + (endTime - startTime));
    27     }
    28 
    29     /**
    30      * 判断一个数是不是质素/素数
    31      * @param num
    32      * @return
    33      */
    34     static boolean isPrime(int num) {
    35         for(int i=2; i<=num/2; i++) {
    36             if(num % i == 0) return false;
    37         }
    38         return true;
    39     }
    40 
    41 }
  • 相关阅读:
    IPUtil
    MD5Util
    MyBatis环境配置及入门
    淘宝主页(静态页面)第3天
    淘宝主页(静态页面)第二天
    淘宝主页(静态页面)第1天
    力扣20 有效的括号
    力扣1 two sum
    JAVA可变参数
    JAVA环形队列
  • 原文地址:https://www.cnblogs.com/mxh-java/p/12244313.html
Copyright © 2011-2022 走看看