Utilizzare un loop all'interno di un thread separato non è una soluzione così malvagia...anzi, a volte è una delle uniche soluzioni possibili.

Devi solamente ricordarti di aggiungere una chiamata alla funzione Sleep al termine del blocco di istruzioni affinchè venga eseguita per ogni ciclo e lasci "respirare" la CPU.

Ciao!