Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
DemD10
58 / 47 / 12
Регистрация: 03.09.2013
Сообщений: 434
#1

Что будет если не завершена задача в Timer - Программирование Android

13.01.2016, 12:37. Просмотров 150. Ответов 3
Метки нет (Все метки)

Всем привет, вот что заинтересовало, допустим есть какая либо задача которая выполняется с интервалом в 5 секунд. Создается новый поток в котором выполняется задача, допустим, задача не завершилась за 5 секунд. Что происходит? Создается еще один поток? Или этот прекращает свою работу ? И если создается новый поток, как сделать так чтобы задача выполнялись не по таймеру, а друг за другом. Надеюсь, вопрос понятен.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2016, 12:37     Что будет если не завершена задача в Timer
Посмотрите здесь:

Что будет в случае пересоздания активити - Программирование Android
Вот у меня есть активити и сервис. В активити есть, к примеру TextView и сервис производит какие то вычисления и передает результат в...

Что будет контроллером в проекте по модели MVC - Программирование Android
Ну допустим у меня есть активити в нем TextView, ImageView и прочее. Есть класс модели, который получает фото по сети. Есть AsynkTask,...

Какую технологию лучше изучать - что будет популярно в будущем!? - Программирование Android
Такая тема, изучал php html и тд но узнал про java и программирование под ОС Android и вот сижу и думаю что лучше изучать Android или...

Timer - Программирование Android
Я пишу приложение.Сначала для красоты показывается прогресс бар.Потом через 3сек меняется сообщение.но меняется только без таймера.а с...

Timer и AppWidgetProvider - Программирование Android
С Новым Годом, господа! Успехов всем в Новом Году! А мой вопрос такой: как остановить таймер в виджете... код в архиве...

Обращение к UI из Timer - Программирование Android
при помощи какой функции из таймера можно обратиться к элементу UI??

Timer в ListView - Программирование Android
Добрый вечер! Поставлена задача: нужно создать ListView в элементах которого тикало время от даты создания объекта. Я пошел по самому...

Handler timer - Программирование Android
Добрый вечер. С помощью какого метода в Handler http://developer.android.com/reference/android/os/Handler.html(беда пока с английским) ,...

CheckBox и Timer - Программирование Android
Здравствуйте. Я только недавно начала изучать программирование. Помогите пожалуйста. Есть CheckBox1 и CheckBox2. Есть editText1 в...

Timer и TimerTask - Программирование Android
Пишу программу для андроида в eclipse. Столкнулся с такой проблемой: нужно чтобы после нажатия на картинку она через секунду сменилась на...

timer или postdelayed - Программирование Android
Мне во время работы приложения в фоновом, да и не только, нужно раз в секунду узнать сколько время. hh =...

Timer для чайника - Программирование Android
Второй день издтваюсь над андроид студио. Проблем с хелловордои небыло, а воь с тпймером застопорил. Подскажите как это проще реализовать....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
13.01.2016, 13:01     Что будет если не завершена задача в Timer #2
Цитата Сообщение от DemD10 Посмотреть сообщение
как сделать так чтобы задача выполнялись не по таймеру, а друг за другом
В AsynkTask в обычном цикле можно гонять задачу
Pablito
2414 / 1859 / 583
Регистрация: 12.05.2014
Сообщений: 6,596
Завершенные тесты: 1
13.01.2016, 13:01     Что будет если не завершена задача в Timer #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
вылетит исключение
Bash
1
java.lang.IllegalThreadStateException: Thread already started.
поэтому , имхо, лучше использовать один из ExecutorService
например так
Java
1
2
        ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
        executor.scheduleAtFixedRate(runnableTask, 0, 5, TimeUnit.SECONDS);
параметр runnableTask это наша задача (Runnable или свой класс implements Runnable)
например
Java
1
2
3
4
5
6
7
8
9
10
11
12
    final Runnable runnableTask = new Runnable() {
        @Override
        public void run() {
            Log.i("***", "Thread start.");
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            Log.i("***", "Thread end.");
        }
    };
Пока предыдущая зада не завершится - новая не запустится.

мало кто пользуется экзекутор сервисами, потому что не читали состав пакета java.util.concurrent.*
а там пипец сколько всего вкусного, мощного и удобного )
DemD10
58 / 47 / 12
Регистрация: 03.09.2013
Сообщений: 434
13.01.2016, 13:47  [ТС]     Что будет если не завершена задача в Timer #4
Паблито, даааа, вещь))
Yandex
Объявления
13.01.2016, 13:47     Что будет если не завершена задача в Timer
Ответ Создать тему
Опции темы

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