http://stackoverflow.com/questions/14515207/whats-the-proper-way-to-use-a-threadpool