Do away with queueing work separately at the start and let each thread grab its own work as soon as it's ready.