Yet another approach, using manual commits within the thread, and only when created, along with a pool of threads, one for each file