ReadThread and WaitThread