I have a separate thread which checks for incoming bytes and dos the decoding and by investigating more i discovered that if i set the timeouts at certain values it halts, waiting for the first incoming and the halt is done in the OS, thus freeing resurses. This is the very effect i wanted, i do not know what "CPU-power" my application will be running om but it will be mostly on LapTops and they might be old!