data transfer with multi-thread