В простом для понимания объяснении, что такое Runnable в Java? [закрытый]
Что такое" runnable " в Java, в терминах непрофессионала? Я студент AP программирования в средней школе, чье задание состоит в том, чтобы делать исследования, или искать у других, что такое "runnable" (мы только входим в ООП, и еще не коснулись темы).
2 ответа:
Runnable-это в основном тип класса (Runnable-это интерфейс), который может быть помещен в поток, описывая, что поток должен делать.
Управляемый интерфейс требует от класса реализовать метод
run()следующим образом:public class MyRunnableTask implements Runnable { public void run() { // do stuff here } }А затем использовать его следующим образом:
Thread t = new Thread(new MyRunnableTask()); t.start();Если бы у вас не было интерфейса
Runnable, класс Thread, который отвечает за выполнение вашего материала в другом потоке, не имел бы обещания найти методrun()в ваш класс, так что вы могли бы получить ошибки. Именно поэтому вам необходимо реализовать интерфейс.Дополнительно: Анонимный Тип
Обратите внимание, что вам не нужно определять класс как обычно, вы можете сделать все это встроенным:
Thread t = new Thread(new Runnable() { public void run() { // stuff here } }); t.start();Это похоже на описанное выше, только вы не создаете другой именованный класс.
Runnableинтерфейс определяется следующим образом:interface Runnable { public void run(); }Чтобы создать класс, который его использует, просто определите класс как
Его можно использовать даже без создания новой нити. Это в основном ваш базовый интерфейс с одним методом, run, который можно вызвать.(public) class MyRunnable implements Runnable {Если вы создадите новый поток с параметром runnable, он вызовет метод run в новом потоке.
Следует также отметить, что потоки реализуют
Runnable, и это вызывается, когда создается новый поток (в новый поток). Реализация по умолчанию просто вызывает все Runnable, которые вы передали в конструктор, поэтому вы можете просто сделатьnew Thread(someRunnable), не переопределяя метод Thread'Srun.