Advertisement
Guest User

Untitled

a guest
Nov 20th, 2014
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. const int MAX_SIZE = 1000000;
  2. static BlockingCollection<string> mergeData;
  3. mergeData = new BlockingCollection<string>(new ConcurrentBag<string>(), MAX_SIZE);
  4.  
  5.  
  6. string[] FilePaths = Directory.GetFiles("somepath");
  7.  
  8. var taskWriteMergedFile = new Task(() =>
  9. {
  10. while ( true )
  11. {
  12. if ( mergeData.Count > 800000)
  13. {
  14. String.Join(System.Environment.NewLine, mergeData.GetConsumingEnumerable());
  15. //Write to file
  16. }
  17. Thread.Sleep(10000);
  18. }
  19. }, TaskCreationOptions.LongRunning);
  20.  
  21. taskWriteMergedFile.Start();
  22. Parallel.ForEach(FilePaths, FilePath => AddToDataPool(FilePath));
  23. mergeData.CompleteAdding();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement