You have a very large file and it takes a lot of time to process it. So you are going to split up the file and have each piece processed separately.
I am not sure how exactly where parallel processing comes into play in your example or how this is faster that reading the entire file (unless your program loads the entire file into for some reason)
Have you looked at the 'split' command? It will split a file into separate files based on size as well as lines. So you could break the 'large' file into separate 1000 line files and then process them accordingly.