Интерфейс Runnable
- Все известные подинтерфейсы:
-
RunnableFuture<V>,RunnableScheduledFuture<V>
- Все известные реализующие классы:
-
AsyncBoxView.ChildState,ForkJoinWorkerThread,FutureTask,RenderableImageProducer,SwingWorker,Thread,TimerTask
- Функциональный интерфейс:
- Это функциональный интерфейс и, следовательно, может быть использован в качестве целевого назначения для лямбда-выражения или ссылки на метод.
@FunctionalInterface public interface Runnable
Runnable должен быть реализован любым классом, экземпляры которого предназначены для выполнения потоком. Класс должен определить метод без аргументов, называемый run. Этот интерфейс предназначен для обеспечения общего протокола для объектов, которые хотят выполнить код, пока они активны. Например, Runnable реализуется классом Thread. Активность означает, что поток был запущен и еще не остановлен.
Кроме того, Runnable предоставляет средства для класса быть активным, не наследуя Thread. Класс, реализующий Runnable , может работать без наследования Thread путём создания экземпляра Thread и передачи себя в качестве целевого объекта. В большинстве случаев интерфейс Runnable следует использовать, если вы планируете переопределить только метод run() и не другие методы Thread. Это важно, поскольку классы не должны наследовать, если программист не намерен модифицировать или улучшать базовое поведение класса.
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
run() |
При использовании объекта, реализующего интерфейс Runnable, для создания потока, запуск потока вызывает вызов метода run в этом выполняемом отдельно потоке. |
Подробное описание методов
run
void run()
Runnable, для создания потока, запуск потока вызывает вызов метода run в этом выполняемом отдельно потоке. Общий контракт метода run заключается в том, что он может выполнить любое действие.
- См. также:
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Runnable.html