Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. public class Main {
  2.  
  3. public static void main(String[] args) {
  4.  
  5. ArrayList<Integer> initialNumbers = new ArrayList<>(Arrays.asList(60, 3, 100, 40, 98, 104, 23, 77, 35));
  6. int workers = 4;
  7. float listSize = (float) initialNumbers.size();
  8. int factor = (int) Math.ceil(listSize / workers);
  9.  
  10. System.out.println("Numeros a ordenar: " + initialNumbers + " Tamaño: " + initialNumbers.size());
  11. System.out.println("Workers: " + workers);
  12. System.out.println("Particiones: " + factor);
  13.  
  14. factor = factor == 0 ? 1 : factor;
  15.  
  16. int tasks = (int) Math.ceil(listSize / factor);
  17. System.out.println("Tareas necesarias: " + tasks);
  18.  
  19. ThreadPool threadPool = new ThreadPool(4, workers);
  20. ConcurRadixSort concurRadixSort = new ConcurRadixSort(tasks, factor);
  21. concurRadixSort.setNumbers(initialNumbers);
  22.  
  23. System.out.println("Numeros particionados: " + concurRadixSort.chopped(initialNumbers, factor));
  24.  
  25. for (int bit = 0; bit < 32; ++bit) {
  26. System.out.println("Bit: " + bit);
  27. launchTasks(threadPool, concurRadixSort, bit, tasks);
  28. }
  29.  
  30. stopThreadPool(threadPool);
  31. }
  32.  
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement