fn worker(shared: &Shared)
Each worker thread chooses the next available index then computes the hash and patches the final vec with the result.