The CS Export Tool uses multiple worker threads to improve document migration performance. The number of threads that are spawned is user configurable in the Project Details dialog. Each worker thread repeatedly migrates a batch of documents, (the size of the batch is also user configurable), until all of the documents have been migrated or the user aborts the operation.
The CS Export Tool, prior to spawning the worker threads, first constructs a master list of all documents that will be migrated for a particular migration. This list is actually an ADO recordset. Once the worker threads are created and running, they begin to process documents by retrieving information from the current record in the recordset.
Once a record is requested by a thread, the recordset cursor is automatically advanced to the next record so that the same document cannot be processed by different threads.
NOTE A thread won’t actually begin processing of documents until it has the number of documents that corresponds to the user’s batch size, which is also user configurable.
There is no guarantee that the documents a thread processes for a given batch will have contiguous document ID's.