Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 33, средняя оценка - 4.79
xbarmaglot
3 / 3 / 0
Регистрация: 06.10.2012
Сообщений: 248
#1

Завершение потока - Программирование Android

13.04.2013, 23:10. Просмотров 4689. Ответов 34
Метки нет (Все метки)

Необходимо корректно завершить поток.
Сейчас код такой
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class MyThread extends Thread
{
    private void method() throws InterruptedException
    {
        ...
    }
 
    public void run()
    {
        while(!isInterrupted())
        {
             try
             {
                 method();
                 super.sleep(...);
             }
             catch (Exception ex)
             {
                 ...
             }
        }
    }
}
То есть при любом исключении в потоке оно будет поймано.
Далее будет проверка на isInterrupted и если было прерывание, то поток завершится.
Но складывается впечатление, что поток вылетает. Не могу поймать где.

Правильно ли завершение потока ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2013, 23:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Завершение потока (Программирование Android):

Завершение потока AsyncTask - Программирование Android
Доброго времени суток. Возникла проблема с закрытием потока. Первый раз код выполняется и все норм, но т.к. при нажатии на кнопку...

Завершение сервиса - Программирование Android
вот метод завершающий сервис в основной активности: public void onClickStop(View v) { stopService(new Intent(this,...

Завершение работы приложения - Программирование Android
у меня есть менюшка. там есть кнопочка quit, мне нужна чтоб она полностью прекращала работу приложения. Я пытаюсь сделать подобным образом:...

Коректное завершение программы - Программирование Android
Есть главное activity, которое запускает сервис. Сервис выполняет длительную операцию. При нажатии Back приложение сворачивается, сервис...

Принудительное завершение звонка - Программирование
Здравствуйте. Подскажите пожалуйста как завершить звонок не дожидаясь, когда на него ответят. Звоню так: Intent intent = new...

Программное завершение приложения - Программирование Android
Здравствуйте. Как программно завершить приложение? То есть не завершить активность через finish(), а именно выйти из приложения вообще.

34
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
20.04.2013, 23:22 #31
Цитата Сообщение от xbarmaglot Посмотреть сообщение
А как быть с await, tryLock, ...
для них, вероятно, есть свои методы, unlock() например.
0
xbarmaglot
3 / 3 / 0
Регистрация: 06.10.2012
Сообщений: 248
20.04.2013, 23:22  [ТС] #32
join
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
20.04.2013, 23:23 #33
а чем вас обычный wait не устраивает, лично я не встречал await и tryLock на практике.
0
xbarmaglot
3 / 3 / 0
Регистрация: 06.10.2012
Сообщений: 248
20.04.2013, 23:26  [ТС] #34
На счет прерывания
Java
1
Threads blocked in one of Object's wait() methods or one of Thread's join() or sleep() methods will be woken up, their interrupt status will be cleared, and they receive an InterruptedException.
то есть interrupt прерывает многие wait.
Да и tryLock тоже с ним дружит
Java
1
Acquires the lock if it is free within the given waiting time and the current thread has not been interrupted.
Получается, что поток можно завершить на любом ожидании, а асинхронную задачу нет.
0
xbarmaglot
3 / 3 / 0
Регистрация: 06.10.2012
Сообщений: 248
24.04.2013, 11:42  [ТС] #35
Так как завершить AsyncTask ?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2013, 11:42
Привет! Вот еще темы с ответами:

Завершение предыдущего активити (удаление из стека) - Программирование Android
товарищи, подскажите способы завершения предыдущего активити в стеке, чтобы по нажатию клавиши "назад" из последующего я уже не возобновлял...

Поиск и завершение всех Service программы - Программирование Android
Как убить все сервисы при выходе? У меня прога запускает в ходе работы четыре сервиса которые следят друг за другом и в случаи падения...

При попытке открыть второй и третий Activity происходит завершение работы программы - Программирование Android
Подскажите где ошибка. В программирование андроида пару дней. При попытке открыть второй и третий Activity происходит завершение работы...

Полное завершение работы приложения при нажатии навигационной кнопки "Назад" - Программирование Android
Здравствуйте. Имеется приложение. При нажатии кнопки "Домой" приложение выходит на главный экран и остается активным в панели...


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

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru