2012-01-12 1 views
9

나는 이것이 쉬운 일이 될 것이라고 생각했지만 실패했습니다.GPars 기본 풀 크기 란 무엇입니까?

내 Groovy 응용 프로그램에서 GPars를 사용하고 풀 크기를 지정하지 않으면 몇 개의 스레드가 생성됩니까? 설정하지 않고 기본 풀 크기가 있습니까?

// How many threads will be created? What is the default pool size? 
GParsExecutorsPool.withPool { 
    // do stuff... 
} 

답변

18

이 그것은 (기본적으로)

private static int defaultPoolSize() { 
    return Runtime.getRuntime().availableProcessors() + 1; 
} 

로 설정되어 당신은 당신이 가지고있는 유효한 정수

+0

대단히 감사합니다! – C0deAttack

+0

왜 "availableProcessors"에 1을 더한 것입니까? 다른 시스템에 사용할 수 있도록 남겨 두려면 마이너스 하나라고 기대합니까? (당연히 당신은 오직 하나만 가지고 시작하지 않는 한!) –

8

으로 많은 gpars.poolsize라는 시스템 속성을 설정하여 (내가 믿는)이를 변경할 수 있습니다 PoolUtils 클래스 (source) 또는 시스템 속성

retrieveDefaultPoolSize()으로 표시된 것과 같이 하나의 CPU 단위는 onc 초기화 할 때 GParsPool 클래스에 의해 최종 정적 변수로 e

+0

감사합니다. 소스 링크를 위해 당신을 upvoted. 하지만 tim_yates에게 첫 번째 답변을 제시해야했습니다. – C0deAttack