Create a finished queue and lock per-thread.
Set a maximum number of threads to be 64 - for now anyway.
Add a thread id to each job runner to use with the above.