Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int MAX_SIZE = 1000000;
- static BlockingCollection<string> mergeData;
- mergeData = new BlockingCollection<string>(new ConcurrentBag<string>(), MAX_SIZE);
- string[] FilePaths = Directory.GetFiles("somepath");
- var taskWriteMergedFile = new Task(() =>
- {
- while ( true )
- {
- if ( mergeData.Count > 800000)
- {
- String.Join(System.Environment.NewLine, mergeData.GetConsumingEnumerable());
- //Write to file
- }
- Thread.Sleep(10000);
- }
- }, TaskCreationOptions.LongRunning);
- taskWriteMergedFile.Start();
- Parallel.ForEach(FilePaths, FilePath => AddToDataPool(FilePath));
- mergeData.CompleteAdding();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement