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.Exception
public final Worker.State getState()
Worker
public final ReadOnlyObjectProperty<Worker.State> stateProperty()
Worker
stateProperty
в интерфейсе Worker<V>
getState()
public final V getValue()
Worker
public final ReadOnlyObjectProperty<V> valueProperty()
Worker
valueProperty
в интерфейсе Worker<V>
getValue()
public final java.lang.Throwable getException()
Worker
null
, нет никакого известного исключения, даже если состояние является ОТКАЗАВШИМ. Если это свойство не null
, это будет наиболее вероятно содержать исключение, которое описывает причину отказа.getException
в интерфейсе Worker<V>
public final ReadOnlyObjectProperty<java.lang.Throwable> exceptionProperty()
Worker
exceptionProperty
в интерфейсе Worker<V>
getException()
public final double getWorkDone()
Worker
getWorkDone
в интерфейсе Worker<V>
Worker.totalWorkProperty()
, Worker.progressProperty()
public final ReadOnlyDoubleProperty workDoneProperty()
Worker
workDoneProperty
в интерфейсе Worker<V>
getWorkDone()
public final double getTotalWork()
Worker
Worker.workDoneProperty()
свойство. totalWork или будет-1 (указание, что объем работы, чтобы сделать неопределенен), или это будет ненулевое значение, меньше чем или равное Лонгу. MAX_VALUE.getTotalWork
в интерфейсе Worker<V>
Worker.workDoneProperty()
, Worker.progressProperty()
public final ReadOnlyDoubleProperty totalWorkProperty()
Worker
totalWorkProperty
в интерфейсе Worker<V>
getTotalWork()
public final double getProgress()
Worker
getProgress
в интерфейсе Worker<V>
Worker.workDoneProperty()
, Worker.totalWorkProperty()
public final ReadOnlyDoubleProperty progressProperty()
Worker
progressProperty
в интерфейсе Worker<V>
getProgress()
public final boolean isRunning()
Worker
ProgressIndicator
, Вы будете обычно связывать видимость ProgressIndicator к рабочему свойству Рабочего, и продвижение ProgressIndicator к свойству продвижения Рабочего.public final ReadOnlyBooleanProperty runningProperty()
Worker
runningProperty
в интерфейсе Worker<V>
isRunning()
public final java.lang.String getMessage()
Worker
getMessage
в интерфейсе Worker<V>
public final ReadOnlyStringProperty messageProperty()
Worker
messageProperty
в интерфейсе Worker<V>
getMessage()
public final java.lang.String getTitle()
Worker
public final ReadOnlyStringProperty titleProperty()
Worker
titleProperty
в интерфейсе Worker<V>
getTitle()
public final boolean cancel()
Worker
public 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 и/или его филиалы. Все права защищены. Использование подвергается