We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
스레드를 직접 다루면 Thread가 작업 단위와 수행 매커니즘 역할을 모두 수행하게 된다. 그보다는 실행자 프레임워크를 사용해 작업 단위와 실행 매커니즘을 분리하고, 작업 수행을 위임하는 것이 좋다.
java.util.concurrent 패키지는 실행자 프레임워크 인터페이스 기반의 유연한 태스크 실행 기능을 담고 있다.
java.util.concurrent
ExecutorService exec = Executors.newSingleThreadExecutor();
exec.execute(runnable);
exec.shutdown();
get
invokeAny
invokeAll
awaitTermination
ExecutorCompletionService
ScheduledThreadPoolExecutor
실행자 서비스를 사용하기 까다롭다면, 스레드 풀을 만들어 사용할 수 있다.
CachedThreadPool
ThreadPoolExecutor
태스크 == 작업 단위
자바 7부터 실행자 프레임워크는 포크 조인 태스크를 지원한다.
포크 조인 태스크는 포크 조인 풀이라는 특별한 실행자 서비스가 실행한다.
병렬 스트림
import java.math.BigInteger; import java.util.stream.LongStream; public class ParallelPrimeCounting { // Prime-counting stream pipeline - parallel version (Page 225) static long pi(long n) { return LongStream.rangeClosed(2, n) .parallel() .mapToObj(BigInteger::valueOf) .filter(i -> i.isProbablePrime(50)) .count(); } public static void main(String[] args) { System.out.println(pi(10_000_000)); } }
The text was updated successfully, but these errors were encountered:
No branches or pull requests
실행자 프레임워크
java.util.concurrent
패키지는 실행자 프레임워크 인터페이스 기반의 유연한 태스크 실행 기능을 담고 있다.주요 API
ExecutorService exec = Executors.newSingleThreadExecutor();
exec.execute(runnable);
exec.shutdown();
get
invokeAny
invokeAll
awaitTermination
ExecutorCompletionService
이용ScheduledThreadPoolExecutor
이용CachedThreadPool과 ThreadPoolExecutor
실행자 서비스를 사용하기 까다롭다면, 스레드 풀을 만들어 사용할 수 있다.
CachedThreadPool
ThreadPoolExecutor
실행자 프레임워크 사용의 장점
태스크 == 작업 단위
포크 조인 풀 fork-join pool과 스트림
자바 7부터 실행자 프레임워크는 포크 조인 태스크를 지원한다.
포크 조인 태스크는 포크 조인 풀이라는 특별한 실행자 서비스가 실행한다.
병렬 스트림
을 이용하면 적은 노력으로 그 이점을 얻을 수 있다.The text was updated successfully, but these errors were encountered: