use thread to deal with data-getting task