Interface Runnable
-
- All Known Subinterfaces:
- RunnableFuture<V>, RunnableScheduledFuture<V>
- All Known Implementing Classes:
- AsyncBoxView.ChildState, ForkJoinWorkerThread, FutureTask, RenderableImageProducer, SwingWorker, Thread, TimerTask
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface Runnable
TheRunnable
interface should be implemented by any class whose instances are intended to be executed by a thread. The class must define a method of no arguments calledrun
.This interface is designed to provide a common protocol for objects that wish to execute code while they are active. For example,
Runnable
is implemented by classThread
. Being active simply means that a thread has been started and has not yet been stopped.In addition,
Runnable
provides the means for a class to be active while not subclassingThread
. A class that implementsRunnable
can run without subclassingThread
by instantiating aThread
instance and passing itself in as the target. In most cases, theRunnable
interface should be used if you are only planning to override therun()
method and no otherThread
methods. This is important because classes should not be subclassed unless the programmer intends on modifying or enhancing the fundamental behavior of the class.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description void
run()
When an object implementing interfaceRunnable
is used to create a thread, starting the thread causes the object'srun
method to be called in that separately executing thread.
-
-
-
Method Detail
run
void run()
When an object implementing interfaceRunnable
is used to create a thread, starting the thread causes the object'srun
method to be called in that separately executing thread.The general contract of the method
run
is that it may take any action whatsoever.- See Also:
-
Thread.run()
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.