1) make sure background thread 0 is always created; and 2) fix synchronization between thread 0 and the control thread.