powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Клавиатура и второй поток.
3 сообщений из 3, страница 1 из 1
Клавиатура и второй поток.
    #38398175
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть консольное приложение с двумя потоками. Главный поток читает с консоли и посылает команды второму потоку.
Если во втором потоке произошло "нечто" он взводит флаг "пора умирать".
Проблема в том, что я не могу отловить взведение этого флага в главном потоке если он ждет ввода с консоли.

Сейчас у меня есть простой цикл:
Код: java
1.
2.
3.
4.
5.
6.
	BufferedReader scan = new BufferedReader(new InputStreamReader(System.in));
	while(true) {
		String msg = scan.readLine();
		if(stopIt) break;
		worker.doIt(msg);
	}


Спрашивается, как прервать readLine() а не дожидаться пока юзер ткнет Enter?
...
Рейтинг: 0 / 0
Клавиатура и второй поток.
    #38398184
DEVcoach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) Убедитесь, что stopIt у вас volatile.
2) При остановке приложения попробуйте вызвать interrupt() на потоке, ожидающем получения информации с клавиатуры.
3) Если п.2 не поможет, можете тупо вызвать System.in.close().
...
Рейтинг: 0 / 0
Клавиатура и второй поток.
    #38398237
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
System.in.close() в фоновом потоке действительно помог.
Правда теперь главный выпадает с исключением, но это уже мелочи :)
Спасибо.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Клавиатура и второй поток.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]