Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. private void RunStandaloneThreads(int count, ThreadAction action)
  2. {
  3.  
  4. //z lambdy ma dostep do _data oraz do zmiennej sum i wykonuje to kazdy watek
  5. // TODO: Run 'count' threads and execute 'action' in every one with appropriate range of data
  6.  
  7. List<Thread> threads = new List<Thread>();
  8. var move = _data.Length / count;
  9. var a = 0;
  10.  
  11. for (var i = 0; i < count; i++)
  12. {
  13. var start = a;
  14. var stop = a + move;
  15. a += move;
  16. if (i == count - 1)
  17. {
  18. stop = _data.Length;
  19. }
  20.  
  21. var unused = new Thread(() => action(start, stop));
  22. unused.Start();
  23. threads.Add(unused);
  24. }
  25.  
  26. foreach (var thread in threads)
  27. thread.Join();
  28.  
  29.  
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement