티스토리 뷰

Dev/Java

Java8 병렬처리 프로그래밍 간단예제

마이스토리 2016. 3. 22. 16:29

public class ParallelStreamExamples1 {

public static void main(String[] args) {

long start = System.currentTimeMillis();

//병렬처리 시 jvm이 사용가능한 코어 개수 설정

//0: 코어개수 1개

//1: 코어개수 2개

//3: 코어개수 4개

//7: 코어개수 8개

System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "7");

Arrays.asList(1,2,3,4,5,6,7,8)

//      .stream() //cpu 코어를 1개만 사용하므로 8초 걸림

     .parallelStream() //멀티코어 사용으로 2초걸림.(기본옵션 2코어)

     .map(i -> {

     try {

     TimeUnit.SECONDS.sleep(1);

     } catch (Exception e) {

     e.printStackTrace();

     }

     return i;

     })

     .forEach(i -> System.out.println(i));

System.out.println("elsaped " + (System.currentTimeMillis() - start) / 1000 + " seconds.");

}

}


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28