add multi_thread