Se ancora non utilizzate async e await, leggete questo articolo e poi vi chiederete come avete fatto a non utilizzarle fino ad ora.
L’utilizzo dei Thread e Task è utilissimo per le operazioni di elaborazione (calcolo) da rendere parallele sfruttando i molti core delle CPU odierne. Tuttavia quando si tratta di operare sull’I/O, è un po’ diverso. Quando viene effettua un'operazione di I/O sul thread primario, Windows, poichè si tratta di un’operazione di I/O, pone il thread primario in WAIT_STATE.