>
>
> Quindi qual è il modo migliore per far fare alla CPU altro lavoro mentre
> è in attesa del risultato di una query?
> Oppure ha ragione il mio collega e potevo risparmiarmi del lavoro?
>

Non devi fare nulla; il sistema operativo garantisce che mentre il tuo
thread è bloccato in attesa di I/O, qualsiasi altro thread pronto ad
eseguire potrà usare la CPU.  Se stai sviluppando un servizio REST, il
thread bloccato lascia la CPU disponibile per qualsiasi altra richiesta
concorrente.

Tutto dipende da che cos'è che stai cercando di ottenere esattamente.  Se
l'obiettivo è fare in modo che il tuo chiamante riceva 200 prima che sia
completata la chiamata al DB o a qualsiasi sia l'operazione "lenta" che
devi eseguire, allora devi eseguire l'operazione lenta su un secondo
thread; ma poi devi fornire un secondo endpoint per consentire al chiamante
di sapere se l'operazione è completata.  Questa cosa può avere senso per
operazioni molto lunghe (tipo elaborazioni grafiche)

Reply via email to