Da un punto di vista logico, un'applicazione può richiedere dozzine o centinaia di thread, alcuni dei quali dormiremo la maggior parte del tempo, ma pochi saranno sempre in esecuzione contemporaneamente. La domanda è: ha senso generare più thread concorrenti rispetto ai processori presenti in un sistema, oppure è uno spreco?Ha senso generare più di un thread per processore?
Ho visto alcune applicazioni server che implementano uno scheduler per gestire logicamente le attività (spesso chiamate job), ma anche generare molti thread, quindi non vedo dove sia il vantaggio.
Grazie in anticipo.
Esattamente, e questa è una * situazione * molto * comune. Al contrario dello scenario che discuto, che è raro al di fuori di alcune discipline specializzate. Se Trap vuole una risposta "sola e sola", dovrebbe essere così. – dmckee