2012-01-12 11 views
9

Ho pensato che sarebbe stata una cosa facile da trovare ma ho fallito.Qual è la dimensione predefinita del pool GPars?

Se utilizzo GPars nell'applicazione Groovy e non si specifica una dimensione di pool, quanti thread verranno creati? Esiste una dimensione del pool predefinita senza impostarne una?

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

risposta

18

Si tratta (per impostazione predefinita) impostato su

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

È possibile modificare questa (credo) impostando una proprietà di sistema chiamato gpars.poolsize ad una valida Integer

+0

Grazie mille! – C0deAttack

+0

Perché è "disponibile Processori" più uno? Mi aspetterei che fosse meno uno, per lasciarne uno disponibile per altri sistemi? (a meno che, naturalmente, non ne abbiate uno solo per cominciare!) –

8

Come molti come avete Unità CPU più una, come mostrato dalla classe PoolUtilssource o da una proprietà di sistema

retrieveDefaultPoolSize() viene chiamato onc e come variabile statica finale dalla classe GParsPool quando è inizializzata

+0

Grazie, ha aumentato le votazioni per il link sorgente. Ma dovevo dare a tim_yates la risposta per essere il primo :-) – C0deAttack

Problemi correlati