powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Cancel thread button
9 сообщений из 9, страница 1 из 1
Cancel thread button
    #39278886
DNShark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.

Хотел спросить где можно почитать или как реализовать волшебную кнопочку Cancel. По которой будет генерироваться событие, которое можно будет поймать в Task<T> и совершить сохранение проделанной работы, после чего поток закончится.

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

реализация идет new Thread(Task<T>).start() и callback<T>
...
Рейтинг: 0 / 0
Cancel thread button
    #39278898
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DNShark,
Любой event bus + в тасковом тхреде проверять флаг того, что пользователь нажал на cancel периодически.
...
Рейтинг: 0 / 0
Cancel thread button
    #39278906
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю где найти нормальный tutorial. Но вам нужно смотреть не Thread/Runnable, а более современный API

Executors, ExecutorService и Future у которого есть метод cancel.
Важно понимать, что ваш фоновый процесс Callable\Runnable должен уметь обрабатывать отмену через флаг или InterruptedException.
Процесс, который не блокируется и не проверяет флаг прерывать не безопасно.
...
Рейтинг: 0 / 0
Cancel thread button
    #39278916
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Cancel thread button
    #39278922
DNShark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня
...
Рейтинг: 0 / 0
Cancel thread button
    #39278923
DNShark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
public abstract class Task<V> extends FutureTask<V> implements Worker<V>, EventTarget

вродь, не такое старое API
...
Рейтинг: 0 / 0
Cancel thread button
    #39278928
DNShark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ага, спасибо. Т.е. надо реализовать cancel, а потом реализовать внутре busEvent. Насколько я понял.
...
Рейтинг: 0 / 0
Cancel thread button
    #39278930
DNShark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только проблема в том, что в местах большой загрузки я не могу написать task.isCancelled(). Или мне придется в самую глубь кода передавать всю таску.... Что не хотелось бы делать.
...
Рейтинг: 0 / 0
Cancel thread button
    #39278937
DNShark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хотя там есть onCancelledProperty() на него можно повесить Listener который сгенерирует событие, думаю мне хватит. Всем спасибо)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Cancel thread button
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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