while(1) {

...

da musst Du auch mal an andere Threads abgeben - im einfachsten fall nen paar ms pause...