public class ReaderTextCSVParallel
extends MatrixReader
Parallel version of ReaderTextCSV.java. To summarize, we do two passes in order to compute row offsets and the actual
 read. We accordingly create count and read tasks and use fixed-size thread pools to execute these tasks. If the
 target matrix is dense, the inserts are done lock-free. In contrast to textcell parallel read, we also do lock-free
 inserts. If the matrix is sparse, because splits contain row partitioned lines and hence there is no danger of lost
 updates. Note, there is also no sorting of sparse rows required because data comes in sorted order per row.