import java.io.IOException;
/**
* Третий класс, содержащий точку входа в программу.
* Запускает оба потока и обеспечивает их корректное завершение
* по требованию пользователя (нажатие Enter).
*
* @author Student
* @version 1.0
*/
public class Main {
/**
* Точка входа.
*
* @param args аргументы командной строки (не используются)
*/
public static void main(String[] args) {
WriterThread writer = new WriterThread();
CheckerThread checker = new CheckerThread();
writer.start();
checker.start();
System.out.println("Потоки запущены. Нажмите Enter для остановки...");
// Ожидание нажатия Enter
try {
System.in.read();
} catch (IOException e) {
System.err.println("Ошибка чтения с клавиатуры: " + e.getMessage());
}
// Требуем завершения обоих потоков
writer.stopThread();
checker.stopThread();
// Ожидаем фактического завершения потоков
try {
writer.join();
checker.join();
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
System.out.println("Оба потока корректно завершены.");
}
}