2014-09-14 5 views
0

난 그냥 자바 7 RecursiveAction.invokeAll()의 사용을보고, 궁금 :RecursiveAction 스레드 풀 크기

작업의 스레드의 크기는 무엇입니까? (또는 그것을 결정하는 알고리즘)

많은 작업 (예 : 100 개 작업)이있는 경우 사용해야합니까?

답변

1

스레드 풀의 크기는 당신이 그것을 인 당신이 가지고있는 코어의 수 중 하나를 설정 뭐든 :

공공 ForkJoinPool()를

Runtime.availableProcessors()와 같은 병렬 처리와 ForkJoinPool가 작성, 디폴트의 ​​thread 팩토리를 사용하고있어, UncaughtExceptionHandler는 아니고, 비동기 LIFO 처리 모드가 아닙니다.

또는 일부 특정 번호 :

공공 ForkJoinPool (INT 병렬)

가 표시 병렬 처리 수준, 기본 스레드 공장, 아니 UncaughtExceptionHandlerForkJoinPool를 작성해, 비 비동기 LIFO 처리 방법.

자세한 내용은 the JavaDoc을 읽으십시오.

재귀 동작의 작동 방식은 여러 버전의 자체를 생성한다는 것입니다. 항상 으로 시작하십시오. 생성 된 동작의 수는 다소 중요하지 않지만 "쌓아 두지"않는 한 수 백 또는 수천 개가 잘되어야합니다.