apply thread pool