@FunctionalInterface public interface Runnable
Runnable 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 called run.
 
 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 class Thread.
 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 subclassing Thread. A class that implements
 Runnable can run without subclassing Thread
 by instantiating a Thread instance and passing itself in
 as the target.  In most cases, the Runnable interface should
 be used if you are only planning to override the run()
 method and no other Thread methods.
 This is important because classes should not be subclassed
 unless the programmer intends on modifying or enhancing the fundamental
 behavior of the class.
| Modifier and Type | Method | Description | 
|---|---|---|
| void | run() | When an object implementing interface  Runnableis used
 to create a thread, starting the thread causes the object'srunmethod to be called in that separately executing
 thread. | 
void run()
Runnable is used
 to create a thread, starting the thread causes the object's
 run method to be called in that separately executing
 thread.
 
 The general contract of the method run is that it may
 take any action whatsoever.
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, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.