
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
05.10.2015, 11:57
|
|||
|---|---|---|---|
|
|||
Потоки, прерывание и востановление |
|||
|
#18+
Добрый день. Есть такая задача: есть ГУИ, табличка обновляется каждые Н-секуд (поток который обновляет модель). По нажатию пользователем по табличке(для редактирования) нужно прервать поток, после внесения изменений снова возовбновить. Проблема: не могу корректно возовбновить поток, ну и наверное прервать. Создал слушателя на табличку, по клику делает interrupt (прерывается, все ок.), дальше по коду пытаюсь проверить был ли прерван поток if (serviceRefresh.isInterrupted()) возвращает почему то false. Можете подсказать что и как нужно делать? Ну и как возобновить поток? Спасибо большое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.10.2015, 13:34
|
|||
|---|---|---|---|
Потоки, прерывание и востановление |
|||
|
#18+
Во-первых, зачем вам восстанавливать именно этот поток? Просто по клику устанавливайте флаг в памяти, чтобы поток(Runnable) закончил выполнение. Когда модель обновилась - запускайте Runnable опять. Вариант 2 - изучите Condition из j.u.c и его методы await signalAll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.10.2015, 13:52
|
|||
|---|---|---|---|
Потоки, прерывание и востановление |
|||
|
#18+
забыл никВо-первых, зачем вам восстанавливать именно этот поток? Просто по клику устанавливайте флаг в памяти, чтобы поток(Runnable) закончил выполнение. Когда модель обновилась - запускайте Runnable опять. Вариант 2 - изучите Condition из j.u.c и его методы await signalAll Вариант 3 - заведите listener (или паттерн observer) - когда что-то нужно обновлять - просто отпишитесь от этого события , потосле внесения изменений подпишитесь опять :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2124851]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
176ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 520ms |

| 0 / 0 |
