I am at the very beginning of learning C# and dotnet and currently working on a small project. The aim of the project is to combine two 200 MB csv files into one. Essentially it's the same file with the same items but in a different language. What I need to do is to read few columns from one file and add them to the other one by matching the item ID from both files.
The above I did (program runs quite fast, 24 seconds with +/- 60MB RAM) but....the app is utilizing only one thread to do this. What I would like to do is to divide the program to use two threads: One that does matching items by ID and creating new csv ready string (most of the logic, returns the string). Second one that picks the string from first one and handles writing it to the local file while the first one starts to work on the next line.
Is the above at all doable and if so could someone point me to the right direction?