run future callback in threadpool