//I myself am also persuaded about you, my brothers, that you yourselves are full of goodness, filled with all knowledge,
//able also to admonish others (Romans 15:14)
--------------------------------------------Solution.java---------------------------------------------------------------------
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;
public class Solution {
public static List threads = new ArrayList<>(5);
static {
threads.add(new PrimaInfinita());
threads.add(new SecundaInterrupted());
threads.add(new TertiaHooray());
threads.add(new QuartaMessageInterrupt());
threads.add(new QuintaSum());
}
public static void main(String[] args) {
}
}
class PrimaInfinita extends Thread {
@Override
public void run() {
while (true){
// INFINITE
}
}
}
class SecundaInterrupted extends Thread {
@Override
public void run() {
while (true) {
//INTERRUPTED
try{
Thread.sleep(1);
}catch(InterruptedException e) {System.out.println("InterruptedException");}
}
}
}
class TertiaHooray extends Thread {
@Override
public void run() {
while (true) {
//HOORAY
try{
System.out.println("УÑа");
Thread.sleep(500);
}catch(InterruptedException e) {e.printStackTrace();}
}
}
}
class QuartaMessageInterrupt extends Thread implements Message {
@Override
public void run() {
while (!isInterrupted()) {
//MESSAGE+INTERRUPT
}
}
@Override
public void showWarning() {
interrupt();
}
}
class QuintaSum extends Thread {
@Override
public void run() {
String string;
int result = 0;
try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
while (!(string = br.readLine()).equals("N")) {
//SUM
result += Integer.parseInt(string);
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(result);
}
}
------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------Message.java---------------------------------------------------------------------
package com.javarush.task.task16.task1632;
public interface Message {
void showWarning();
}
------------------------------------------------------------------------------------------------------------------------------
/*
ÐлÑбок
1. Создай 5 ÑазлиÑнÑÑ
ÑвоиÑ
ниÑей c оÑлиÑнÑм Ð¾Ñ Thread Ñипом:
1.1. ÐиÑÑ 1 должна беÑконеÑно вÑполнÑÑÑÑÑ;
1.2. ÐиÑÑ 2 должна вÑводиÑÑ Â«InterruptedException» пÑи возникновении иÑклÑÑÐµÐ½Ð¸Ñ InterruptedException;
1.3. ÐиÑÑ 3 должна каждÑе полÑекÑÐ½Ð´Ñ Ð²ÑводиÑÑ Â«Ð£Ñа«;
1.4. ÐиÑÑ 4 должна ÑеализоваÑÑ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Message, пÑи вÑзове меÑода showWarning ниÑÑ Ð´Ð¾Ð»Ð¶Ð½Ð° оÑÑанавливаÑÑÑÑ;
1.5. ÐиÑÑ 5 должна ÑиÑаÑÑ Ñ ÐºÐ¾Ð½Ñоли ÑиÑла пока не введено Ñлово «N«, а поÑом вÑвеÑÑи в конÑÐ¾Ð»Ñ ÑÑÐ¼Ð¼Ñ Ð²Ð²ÐµÐ´ÐµÐ½Ð½ÑÑ
ÑиÑел.
2. Ð ÑÑаÑиÑеÑком блоке Ð´Ð¾Ð±Ð°Ð²Ñ Ñвои ниÑи в List threads в пеÑеÑиÑленном поÑÑдке.
3. ÐиÑи не Ð´Ð¾Ð»Ð¶Ð½Ñ ÑÑаÑÑоваÑÑ Ð°Ð²ÑомаÑиÑеÑки.
ÐодÑказка:
ÐиÑÑ 4 можно пÑовеÑиÑÑ Ð¼ÐµÑодом isAlive()
ТÑебованиÑ:
1.âСÑаÑиÑеÑкий блок клаÑÑа Solution должен ÑоздаваÑÑ Ð¸ добавлÑÑÑ 5 ниÑей в ÑпиÑок threads.
2.âÐиÑи из ÑпиÑка threads не Ð´Ð¾Ð»Ð¶Ð½Ñ ÑÑаÑÑоваÑÑ Ð°Ð²ÑомаÑиÑеÑки.
3.âÐиÑÑ 1 из ÑпиÑка threads должна беÑконеÑно вÑполнÑÑÑÑÑ.
4.âÐиÑÑ 2 из ÑпиÑка threads должна вÑводиÑÑ "InterruptedException" пÑи возникновении иÑклÑÑÐµÐ½Ð¸Ñ InterruptedException.
5.âÐиÑÑ 3 из ÑпиÑка threads должна каждÑе полÑекÑÐ½Ð´Ñ Ð²ÑводиÑÑ "УÑа".
6.âÐиÑÑ 4 из ÑпиÑка threads должна ÑеализоваÑÑ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Message, пÑи вÑзове меÑода showWarning ниÑÑ Ð´Ð¾Ð»Ð¶Ð½Ð° оÑÑанавливаÑÑÑÑ.
7.âÐиÑÑ 5 из ÑпиÑка threads должна ÑиÑаÑÑ Ñ ÐºÐ¾Ð½Ñоли ÑиÑла пока не введено Ñлово "N", а поÑом вÑвеÑÑи в конÑÐ¾Ð»Ñ ÑÑÐ¼Ð¼Ñ Ð²Ð²ÐµÐ´ÐµÐ½Ð½ÑÑ
ÑиÑел.
--------------------------------------------Solution.java---------------------------------------------------------------------
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;
public class Solution {
public static List threads = new ArrayList<>(5);
public static void main(String[] args) {
}
}
------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------Message.java---------------------------------------------------------------------
package com.javarush.task.task16.task1632;
public interface Message {
void showWarning();
}
------------------------------------------------------------------------------------------------------------------------------
*/