Made each thread have its own output arrays, but this has caused the threads to serialize
The async are now actually asynchronous