2012-01-12 86 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; 
} 

你可以通過設置所謂的gpars.poolsize爲你有一個有效的整數

+0

非常感謝! – C0deAttack 2012-01-12 17:24:32

+0

爲什麼它是「availableProcessors」加上一個?我預計它會減去一個,讓其他系統可用? (除非你只有一個開始!) – 2016-05-11 05:57:48

8

由於許多系統屬性改變這種(我相信) CPU單元加一個,如PoolUtilssource或來自系統屬性

retrieveDefaultPoolSize()被稱爲onc e作爲GParsPool類在初始化時的最終靜態變量

+0

謝謝,upvoted你的來源鏈接。但不得不給tim_yates第一個答案:-) – C0deAttack 2012-01-12 17:24:23