Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
4 / 4 / 0
Регистрация: 07.03.2011
Сообщений: 48

остановка потока

05.04.2016, 15:34. Показов 724. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начал изучать нити. Возник вопрос. Открываю новый потом main, жду 5 секунд и методом - iinterrup останавливаю его, но поток не останавливается. В чем может быть проблема?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public class Solution {
 
 
     public static void main(String[] args) throws InterruptedException {
        TestThread test = new TestThread();
        Thread testTr = new Thread(test);
        testTr.start();
        Thread.sleep(1000);
        testTr.interrupt();
    }
 
    
    public static class TestThread implements Runnable {
 
        Thread current = Thread.currentThread();
        @Override
        public void run()
        {
            while(!current.isInterrupted())
            {
                try
                {
                    Thread.sleep(500);
                }
                catch (InterruptedException e)
                {
                    e.printStackTrace();
                }
                System.out.println("Test Thread");
            }
        }
    }
}
Добавлено через 1 час 11 минут
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Solution {
public static void main(String[] args) throws InterruptedException {
TestThread test = new TestThread();
// Thread testTr = new Thread(test);
test.start();
Thread.sleep(1000);
test.interrupt();
}
public static class TestThread extends Thread
{
public void run(){
while(!isInterrupted())
{
try
{
currentThread().sleep(100);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println("primer");
}
}
}
Разобрался с implements Runnable. А если наследоваться от Thread. Просто с методом run работает. Но если добавить туда Thread.sleep(), перестает останавливаться.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.04.2016, 15:34
Ответы с готовыми решениями:

Остановка потока
Делаю игру на java eclipse. Использую потоки. С помощью них создаю изображения на фрейме, которые потом перемещаются... (ну это не...

Остановка потока
public class Potok implements Runnable { @Override public void run() { while...

Остановка потока
Добрый вечер, благодарю за предыдущие 2 подсказки, они не очень помогли! Моя первая программа уже почти готова, но вот появилась такая...

2
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
05.04.2016, 18:02
После того как вы поймали InterruptedException - флаг interrupted для текущего потока будет сброшен
Чтобы его выставить обычно в catch (InterruptedException e) пишут Thread.currentThread().interrupt()
0
 Аватар для Kotik_leapold
111 / 98 / 84
Регистрация: 18.12.2015
Сообщений: 567
06.04.2016, 12:52
Предлагаю вам почитать статью:

https://habrahabr.ru/post/164487/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.04.2016, 12:52
Помогаю со студенческими работами здесь

Остановка потока. Выполнение действия по нажатию клавиши
Здравствуйте. У меня такой вопрос. Например у меня есть класс генерации чисел, и другой класс это main, и любое сгенерированное число, я...

CountDownLatch и остановка потока
Есть поток, который должен засыпать на длительное время, но который нужно быстро остановить по требованию. Решил использовать...

По нажатию на кнопку из другого потока, нужно чтобы 2 потока останавливались
Есть 2 потока, в которых в цикле выполняется метод Thread.sleep(200); По нажатию на кнопку из другого потока, нужно чтобы эти 2 потока...

Многопоточность: вызвать метод главного потока из второстепенного потока
Здравствуйте. Эта тема всеми избита, знаю. Но у меня очень ограничено время, поэтому рискую и пишу вопрос тут: Пишу приложение...

Остановка forEach
try { Stream<String> stringStream = Files.lines(path, StandardCharsets.UTF_8); stringStream.forEach((String e) -> { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru