up multi-thread