Non ottimizzare IL ciclo, ma ciò che sta DENTRO il ciclo, ovvero le istruzioni che vengono eseguite ogni volta.

Comunque, un vantaggio facendo fare il ciclo in un altro thread ce lo avresti: che nel frattempo l'utente può fare dell'altro con il tuo programma, non deve aspettare che sia finito...

Per esempio io ho usato un thread separato quando dovevo comunicare con degli apparati piuttosto lenti via seriale, mentre la comunicazione avveniva l'utente poteva fare altre cose nel programma!