Fixed the futures not running in parallel. The problem we have now is that the program hangs when the number of futures is greater than the number of threads.