|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Task<V> extends java.util.concurrent.FutureTask<V> implements Worker<V>
Полностью заметная реализация a FutureTask. Задачи представляют дополнительное состояние и заметные свойства, полезные для программирования асинхронных задач в JavaFX, как определено в Worker интерфейс. Реализация Задачи должна переопределить call() метод. Этот метод вызывается на фоновый поток. Любое состояние, которое используется в этом методе, должно быть безопасно читать и записать из фонового потока. Например, управление живым графиком сцены от этого метода опасно и приведет к исключениям на этапе выполнения.
Задачи гибки и чрезвычайно полезны для инкапсуляции "работы". Поскольку Service разрабатывается, чтобы выполнить Задачу, любые Задачи, определенные приложением или кодом библиотеки, могут легко использоваться со Службой. Аналогично, так как Задача расширяется от FutureTask, это является очень легким и естественным использовать Задачу с параллелизмом java Executor API. Наконец, так как Задача Выполнима, можно также вызвать ее непосредственно (вызывая FutureTask.run() метод) от другого фонового потока. Это учитывает состав работы, или передайте это к новому потоку, созданному и выполняемому вручную.
Хотя ExecutorService определяет несколько методов, которые берут Выполнимое, следует обычно ограничить себя использованием execute метод, наследованный от Executor.
Как с FutureTask, Задача является class с одним выстрелом и не может быть снова использована. См. Service для допускающего повторное использование Worker.
Поскольку Задача разрабатывается для использования с приложениями GUI JavaFX, это гарантирует, что каждое изменение к его общедоступным свойствам, так же как уведомления об изменении для состояния, ошибок, и для обработчиков событий, все происходят на основном потоке приложения JavaFX. Доступ к этим свойствам от фонового потока (включая call() метод), приведет к повышаемым исключениям на этапе выполнения.
Это строго поощряется, что все Задачи инициализируются с неизменным состоянием, на которое будет работать Задача. Это должно быть сделано, предоставляя конструктору Задачи, который берет параметры, необходимые для выполнения Задачи. Неизменное состояние облегчает и безопасный использовать от любого потока и гарантирует правильность в присутствии многократных потоков.
| Ввести | Свойство и Описание |
|---|---|
ReadOnlyObjectProperty<java.lang.Throwable> |
исключение
Получает ReadOnlyObjectProperty, представляющий любое исключение, которое произошло.
|
ReadOnlyStringProperty |
сообщение
Получает ReadOnlyStringProperty, представляющий сообщение.
|
ReadOnlyDoubleProperty |
продвижение
Получает ReadOnlyLongProperty, представляющий продвижение.
|
ReadOnlyBooleanProperty |
выполнение
Получает представление ReadOnlyBooleanProperty, работает ли Рабочий.
|
ReadOnlyObjectProperty<Worker.State> |
состояние
Получает ReadOnlyObjectProperty, представляющий текущее состояние.
|
ReadOnlyStringProperty |
title
Получает ReadOnlyStringProperty, представляющий title.
|
ReadOnlyDoubleProperty |
totalWork
Получает ReadOnlyLongProperty, представляющий максимальный объем работы, который должен быть сделан.
|
ReadOnlyObjectProperty<V> |
значение
Получает ReadOnlyObjectProperty, представляющий значение.
|
ReadOnlyDoubleProperty |
workDone
Получает ReadOnlyLongProperty, представляющий текущее продвижение.
|
Рабочий. Государство| Конструктор и Описание |
|---|
Task()
Создает новую Задачу.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
protected abstract V |
call()
Вызванный, когда Задача выполняется, метод вызова должен быть переопределен и реализован подклассами.
|
boolean |
cancel()
Завершает выполнение этого Рабочего.
|
boolean |
cancel(boolean mayInterruptIfRunning) |
ReadOnlyObjectProperty<java.lang.Throwable> |
exceptionProperty()
Получает ReadOnlyObjectProperty, представляющий любое исключение, которое произошло.
|
java.lang.Throwable |
getException()
Указывает на исключение, которое произошло, в то время как Рабочий работал, если любой.
|
java.lang.String |
getMessage()
Связали сообщение с текущим состоянием этого Рабочего.
|
double |
getProgress()
Указывает на текущее продвижение этого Рабочего с точки зрения полного процента.
|
Рабочий. Государство |
getState()
Определяет текущее состояние этого Рабочего.
|
java.lang.String |
getTitle()
Дополнительный title, который должен быть связан с этим Рабочим.
|
double |
getTotalWork()
Указывает на максимальное значение для
Worker.workDoneProperty() свойство. |
V |
getValue()
Определяет значение, или результат, этого Рабочего.
|
double |
getWorkDone()
Указывает на текущий объем работы, который был завершен.
|
boolean |
isRunning()
Истина, если состояние или ПЛАНИРУЕТСЯ или ВЫПОЛНЕНИЕ.
|
ReadOnlyStringProperty |
messageProperty()
Получает ReadOnlyStringProperty, представляющий сообщение.
|
ReadOnlyDoubleProperty |
progressProperty()
Получает ReadOnlyLongProperty, представляющий продвижение.
|
ReadOnlyBooleanProperty |
runningProperty()
Получает представление ReadOnlyBooleanProperty, работает ли Рабочий.
|
ReadOnlyObjectProperty<Worker.State> |
stateProperty()
Получает ReadOnlyObjectProperty, представляющий текущее состояние.
|
ReadOnlyStringProperty |
titleProperty()
Получает ReadOnlyStringProperty, представляющий title.
|
ReadOnlyDoubleProperty |
totalWorkProperty()
Получает ReadOnlyLongProperty, представляющий максимальный объем работы, который должен быть сделан.
|
protected void |
updateMessage(java.lang.String message)
Обновления
message свойство. |
protected void |
updateProgress(long workDone, long max)
Обновления
workDone, totalWork, и progress свойства. |
protected void |
updateTitle(java.lang.String title)
Обновления
title свойство. |
ReadOnlyObjectProperty<V> |
valueProperty()
Получает ReadOnlyObjectProperty, представляющий значение.
|
ReadOnlyDoubleProperty |
workDoneProperty()
Получает ReadOnlyLongProperty, представляющий текущее продвижение.
|
stateProperty в интерфейсе Worker<V>getState()valueProperty в интерфейсе Worker<V>getValue()exceptionProperty в интерфейсе Worker<V>getException()workDoneProperty в интерфейсе Worker<V>getWorkDone()totalWorkProperty в интерфейсе Worker<V>getTotalWork()progressProperty в интерфейсе Worker<V>getProgress()runningProperty в интерфейсе Worker<V>isRunning()messageProperty в интерфейсе Worker<V>getMessage()titleProperty в интерфейсе Worker<V>getTitle()protected abstract V call() throws java.lang.Exception
java.lang.Exceptionpublic final Worker.State getState()
Workerpublic final ReadOnlyObjectProperty<Worker.State> stateProperty()
WorkerstateProperty в интерфейсе Worker<V>getState()public final V getValue()
Workerpublic final ReadOnlyObjectProperty<V> valueProperty()
WorkervalueProperty в интерфейсе Worker<V>getValue()public final java.lang.Throwable getException()
Workernull, нет никакого известного исключения, даже если состояние является ОТКАЗАВШИМ. Если это свойство не null, это будет наиболее вероятно содержать исключение, которое описывает причину отказа.getException в интерфейсе Worker<V>public final ReadOnlyObjectProperty<java.lang.Throwable> exceptionProperty()
WorkerexceptionProperty в интерфейсе Worker<V>getException()public final double getWorkDone()
WorkergetWorkDone в интерфейсе Worker<V>Worker.totalWorkProperty(), Worker.progressProperty()public final ReadOnlyDoubleProperty workDoneProperty()
WorkerworkDoneProperty в интерфейсе Worker<V>getWorkDone()public final double getTotalWork()
WorkerWorker.workDoneProperty() свойство. totalWork или будет-1 (указание, что объем работы, чтобы сделать неопределенен), или это будет ненулевое значение, меньше чем или равное Лонгу. MAX_VALUE.getTotalWork в интерфейсе Worker<V>Worker.workDoneProperty(), Worker.progressProperty()public final ReadOnlyDoubleProperty totalWorkProperty()
WorkertotalWorkProperty в интерфейсе Worker<V>getTotalWork()public final double getProgress()
WorkergetProgress в интерфейсе Worker<V>Worker.workDoneProperty(), Worker.totalWorkProperty()public final ReadOnlyDoubleProperty progressProperty()
WorkerprogressProperty в интерфейсе Worker<V>getProgress()public final boolean isRunning()
WorkerProgressIndicator, Вы будете обычно связывать видимость ProgressIndicator к рабочему свойству Рабочего, и продвижение ProgressIndicator к свойству продвижения Рабочего.public final ReadOnlyBooleanProperty runningProperty()
WorkerrunningProperty в интерфейсе Worker<V>isRunning()public final java.lang.String getMessage()
WorkergetMessage в интерфейсе Worker<V>public final ReadOnlyStringProperty messageProperty()
WorkermessageProperty в интерфейсе Worker<V>getMessage()public final java.lang.String getTitle()
Workerpublic final ReadOnlyStringProperty titleProperty()
WorkertitleProperty в интерфейсе Worker<V>getTitle()public final boolean cancel()
Workerpublic boolean cancel(boolean mayInterruptIfRunning)
protected void updateProgress(long workDone,
long max)
workDone, totalWork, и progress свойства. Звонки updateProgress объединяются и выполняются позже поток приложения FX, и звонки updateProgress, даже от потока Приложения FX, возможно, не обязательно приводят к незамедлительным обновлениям до этих свойств, и промежуточное звено workDone значения может быть объединено, чтобы экономить на уведомлениях о событии. max становится новым значением для totalWork. Этим методом безопасно быть вызванным от любого потока.
workDone - Значение от-1 до максимального. Если значение больше чем максимальный, недопустимое исключение параметра выдается. Если значение, которое передают, будет-1, то получающийся сделанный процент будет-1 (таким образом, неопределенен).max - Значение от-1 до Лонга. MAX_VALUE. Любое значение вне этого диапазона приводит к IllegalArgumentException.protected void updateMessage(java.lang.String message)
message свойство. Звонки updateMessage объединяются и выполняются позже поток приложения FX, таким образом, звонки updateMessage, даже от потока Приложения FX, возможно, не обязательно приводят к незамедлительным обновлениям до этого свойства, и промежуточные значения сообщения могут быть объединены, чтобы экономить на уведомлениях о событии. Этим методом безопасно быть вызванным от любого потока.
message - новое сообщениеprotected void updateTitle(java.lang.String title)
title свойство. Звонки updateTitle объединяются и выполняются позже поток приложения FX, таким образом, звонки updateTitle, даже от потока Приложения FX, возможно, не обязательно приводят к незамедлительным обновлениям до этого свойства, и промежуточные значения title могут быть объединены, чтобы экономить на уведомлениях о событии. Этим методом безопасно быть вызванным от любого потока.
title - новый titleCopyright (c) 2008, 2011, Oracle и/или его филиалы. Все права защищены. Использование подвергается .