Не могу решить задачу на многопоточность. Методы run у разных потоков выполняются не "одновременно", а друг за другом, сначала один поток полностью отработал, потом другой, потом третий и т.д.(иными словами процессор выполняет один поток без переключения на другие). Как можно решить?
public class Solution {
public static void main(String[] args) throws InterruptedException {
PrintListThread firstThread = new PrintListThread("firstThread");
PrintListThread secondThread = new PrintListThread("secondThread");
firstThread.start();
// firstThread.join();
secondThread.start();
}
public static class PrintListThread extends Thread {
public PrintListThread(String name) {
super(name);
}
public void run() {
printList(getList(20), getName());
}
}
public static void printList(List<String> list, String threadName) {
for (String item : list) {
System.out.println(String.format("%s : %s", threadName, item));
}
}
public static List<String> getList(int n) {
List<String> result = new ArrayList<String>();
if (n < 1) return result;
for (int i = 0; i < n; i++) {
result.add(String.format("String %d", (i + 1)));
}
return result;
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Задача : Вывести на экран список из 10 городов с текущей температурой окружающей средыСписок вывести по алфавиту
Из кода выводится список сформированных по длине словосочетания, которые в дальнейшем печатаются на imageНе могу придумать условие, чтобы...
Хочу отслеживать событие открытия SpinnerПопробовал повесить на него View