В общем, уже долго не могу понять как это рабоает и что от меня требуют в 4м пункте
И что имеется в виду под автоматическим запуском нитей? Мы же по факту запускаем их через метод start().
package com.javarush.task.task16.task1632;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/*
Клубок
*/
public class Solution {
public static List<Thread> threads = new ArrayList<>(5);
public static void main(String[] args) {
}
public static class FirstThread extends Thread {
@Override
public void run() {
while (true) {
}
}
}
public static class SecondThread extends Thread {
@Override
public void run() {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
System.out.println("InterruptedException");
}
}
}
public static class ThirdThread extends Thread {
@Override
public void run() {
while (true) {
try {
System.out.println("Ура");
Thread.sleep(500);
} catch (InterruptedException e) {
}
}
}
}
public static class FourthThread extends Thread implements Message {
@Override
public void run() {
while (!isInterrupted()) {
showWarning();
}
}
@Override
public void showWarning() {
this.interrupt();
}
}
public static class FifthThread extends Thread {
@Override
public void run() {
int sum = 0;
while (true) {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String some = null;
try {
some = bufferedReader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
if (some.equals("N")) {
break;
}
sum += Integer.parseInt(some);
}
System.out.println(sum);
}
}
static {
threads.add(new FirstThread());
threads.add(new SecondThread());
threads.add(new ThirdThread());
threads.add(new FourthThread());
threads.add(new FifthThread());
}
}