//I have spoken these things to you in figures of speech. But the time is coming when I will no more speak to you in figures of speech, but will tell you plainly about the Father. (John 16:25) package com.javarush.task.task17.task1702; import java.util.ArrayList; import java.util.List; /* Вместе быстрее? Ща проверим :) */ public class Solution { public static int countThreads = 10; public static int[] testArray = new int[1000]; static { for (int i = 0; i < Solution.testArray.length; i++) { testArray[i] = i; } } public static void main(String[] args) throws InterruptedException { StringBuffer expectedResult = new StringBuffer(); for (int i = 1000 - 1; i >= 0; i--) { expectedResult.append(i).append(" "); } initThreads(); StringBuffer result = new StringBuffer(); for (int i = 0; i < testArray.length; i++) { result.append(testArray[i]).append(" "); } System.out.println(result); System.out.println((result.toString()).equals(expectedResult.toString())); } public static void initThreads() throws InterruptedException { List threads = new ArrayList(countThreads); for (int i = 0; i < countThreads; i++) threads.add(new SortThread()); for (Thread thread : threads) thread.start(); for (Thread thread : threads) thread.join(); } public static void sort(int[] array) { for (int i = 0; i < array.length - 1; i++) { for (int j = i + 1; j < array.length; j++) { if (array[i] < array[j]) { int k = array[i]; array[i] = array[j]; array[j] = k; } } } } public static class SortThread extends Thread { @Override public void run() { Solution.sort(testArray); } } } /* Вместе быстрее? Ща проверим :) 1. Разберись, что и как работает. 2. Создай public static нить SortThread, которая в методе run отсортирует статический массив testArray используя метод sort. Требования: 1. Класс Solution должен содержать public static класс SortThread. 2. Класс SortThread должен быть нитью. 3. В методе run класса SortThread должен вызывать метод sort() с параметром testArray. 4. Программа должна выводить текст на экран. package com.javarush.task.task17.task1702; import java.util.ArrayList; import java.util.List; * Вместе быстрее? Ща проверим :) * public class Solution { public static int countThreads = 10; public static int[] testArray = new int[1000]; static { for (int i = 0; i < Solution.testArray.length; i++) { testArray[i] = i; } } public static void main(String[] args) throws InterruptedException { StringBuffer expectedResult = new StringBuffer(); for (int i = 1000 - 1; i >= 0; i--) { expectedResult.append(i).append(" "); } initThreads(); StringBuffer result = new StringBuffer(); for (int i = 0; i < testArray.length; i++) { result.append(testArray[i]).append(" "); } System.out.println(result); System.out.println((result.toString()).equals(expectedResult.toString())); } public static void initThreads() throws InterruptedException { List threads = new ArrayList(countThreads); for (int i = 0; i < countThreads; i++) threads.add(new SortThread()); for (Thread thread : threads) thread.start(); for (Thread thread : threads) thread.join(); } public static void sort(int[] array) { for (int i = 0; i < array.length - 1; i++) { for (int j = i + 1; j < array.length; j++) { if (array[i] < array[j]) { int k = array[i]; array[i] = array[j]; array[j] = k; } } } } } */