Esiste una buona documentazione su quanti thread vengono creati da GCD? Al WWDC, ci hanno detto che è modellato intorno ai core della CPU. Tuttavia, se chiamo questo esempio:Numero di thread creati da GCD?
for (int i=1; i<30000; i++) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[NSThread sleepForTimeInterval:100000];
});
}
apre 66 thread, anche su un iPad1. (Apre anche 66 thread quando viene chiamato su Lion in modo nativo). Perché 66?
"è stato cooptato dal pool di thread" Cosa intendi per cooptato? Intendi dire che il sonno o altri riagganciati saranno interpretati come attività al 100% così da parlare e quindi la discussione non sarà disponibile per l'uso con dispacci aggiuntivi? –
Certo sarebbe bello se fosse possibile fornire un riferimento per questo reclamo sulle dimensioni del pool di thread: non riesco a trovarne uno ovunque. –