Is it good to start 10 threads and read the file in parallel?
Almost certainly not - although it depends. If this is with an SSD (where there is virtually no search time), then maybe. If it's a traditional drive, definitely not.
This does not mean that you cannot use several streams, although you can probably create one stream to read a file, performing only the most elementary tasks, to get data into processed pieces. Then use the producer / consumer queue to have multiple threads process the data.
Not knowing more than "sort, filter, etc." (which is rather vague), we cannot say how parallelizing the process is in the first place - but trying to execute IO in parallel in one file will probably not help.
Jon skeet
source share