add pre-allocated multi-thread