Оглавление:
- Ключевое отличие - работоспособность против потока
- Что такое Runnable?
- Что такое поток?
- В чем сходство между Runnable и Thread?
- В чем разница между Runnable и Thread?
- Резюме - Runnable vs Thread
Видео: Разница между Runnable и Thread
2024 Автор: Mildred Bawerman | [email protected]. Последнее изменение: 2023-12-16 08:42
Ключевое отличие - работоспособность против потока
Выполняемая программа называется процессом. Процесс можно разделить на несколько подпроцессов. Например, Microsoft Word - это процесс. В то же время он проверяет орфографические ошибки и грамматику. Это подпроцесс. Эти подпроцессы известны как потоки. Многопоточность - это процесс одновременного выполнения нескольких потоков. Потоковые приложения могут быть созданы с использованием разных языков программирования. Runnable и Thread связаны с программированием на Java. В Java есть два метода создания потока путем реализации интерфейса Runnable или расширения класса Thread. При реализации Runnable многие потоки могут совместно использовать один и тот же объект потока, в то время как в классе Extension Thread каждый поток имеет связанный с ним уникальный объект. Это ключевое различие между Runnable и Thread.
СОДЕРЖАНИЕ
1. Обзор и основные различия
2. Что такое Runnable
3. Что такое Thread
4. Сходства между Runnable и Thread
5. Параллельное сравнение - Runnable vs Thread в табличной форме
6. Резюме
Что такое Runnable?
Поток проходит через несколько состояний. «Новое» - это начало жизненного цикла потока. После того как метод start () вызывает новый поток, он становится работоспособным. Если планировщик потоков выбирает поток, он переходит в рабочее состояние. Поток ожидает состояния, если этот поток ожидает, пока другой поток выполнит задачу. После того, как поток завершает работу, он переходит в состояние завершения.
Поток может быть реализован с использованием интерфейса Runnable. Обратитесь к программе ниже.
Рисунок 01: Программа на Java для создания потока с использованием интерфейса Runnable
Согласно приведенной выше программе, класс Runnable Demo реализует интерфейс Runnable. Метод run () находится внутри класса, реализующего интерфейс Runnable. Это точка входа в поток. Логика в методе run (). В основной программе поток создается путем определения объекта, созданного из класса Runnable Demo. Это t1. Метод start () вызывается с использованием t1.
Обратитесь к программе ниже.
Рисунок 02: Программа Java для создания потока для выполнения цикла путем реализации интерфейса Runnable
Согласно приведенному выше примеру, класс Runnable Demo реализует интерфейс Runnable. Логика выполнения с использованием потока написана в методе run (). В основной программе поток создается путем определения объекта, созданного из класса Runnable Demo. Это t1. Затем вызывается метод start () с использованием t1.
Что такое поток?
Другой метод создания потока - расширение класса Thread. Он состоит из трех шагов. Во-первых, объявить класс расширяющим класс Thread. После этого следует написать метод run (). В нем есть последовательность шагов, которые должен выполнить поток. Наконец, создается объект потока и вызывается метод start (), чтобы инициировать выполнение потока. Обратитесь к программе ниже.
Рисунок 03: Программа Java, расширяющая класс Thread
Согласно приведенной выше программе класс MyThread расширяет класс Thread. Он переопределяет метод запуска. Метод run () содержит логику, которая должна выполняться потоком. Это точка входа в поток. Затем создается объект потока. Это thread1. Поток запускается с помощью метода start (). Он выполнит вызов метода run ().
Пример программы из двух классов, расширяющих класс Thread, выглядит следующим образом.
Рисунок 04: Программа Java с двумя классами, расширяющими класс Thread
Согласно приведенной выше программе, оба класса A и B расширяют класс Thread. Оба класса имеют свою реализацию метода run (). Основной поток выполняет метод main (). Прежде чем основной поток умрет, он создает и запускает потоки thread1 и thread2. К тому времени, когда основной поток достиг конца основного метода, три потока работают параллельно. Нет определенного порядка, в котором потоки выдают результат. После запуска потока трудно решить, в каком порядке они будут выполняться. Они работают независимо.
В чем сходство между Runnable и Thread?
Оба используются для создания потока на Java
В чем разница между Runnable и Thread?
Различать статью в середине перед таблицей
Runnable vs Thread |
|
Runnable - это интерфейс в Java для создания потока, который позволяет многим потокам совместно использовать один и тот же объект потока. | Поток - это класс в Java для создания потока, в котором каждый поток имеет уникальный объект, связанный с ним. |
объем памяти | |
В Runnable несколько потоков совместно используют один и тот же объект, поэтому требуется меньше памяти. | В классе Thread каждый поток создает уникальный объект, поэтому требует больше памяти. |
Расширение возможностей | |
После реализации интерфейса Runnable он может расширить класс. | Множественное наследование не поддерживается в Java. После расширения класса Thread он не может расширять любой другой класс. |
Ремонтопригодность кода | |
Запускаемый интерфейс делает код более удобным в сопровождении. | В классе Thread обслуживание занимает много времени. |
Резюме - Runnable vs Thread
Процесс делится на несколько подпроцессов для одновременного выполнения нескольких задач. Эти подпроцессы известны как потоки. Создание экземпляра потока может быть выполнено путем реализации интерфейса Runnable или расширения класса потока. Класс Thread легко расширить, но это не лучшая практика объектно-ориентированного программирования. При реализации Runnable многие потоки могут совместно использовать один и тот же объект потока, в то время как при расширении класса Thread каждый поток имеет уникальный объект, связанный с ним. В этом разница между Runnable и Thread. В классе Thread создание нескольких объектов может потреблять больше памяти.
Загрузите PDF-файл Runnable vs Thread
Вы можете загрузить PDF-версию этой статьи и использовать ее в автономных целях в соответствии с примечанием к цитированию. Пожалуйста, скачайте PDF-версию здесь Разница между Runnable и Thread
Рекомендуем:
Разница между симметричными и асимметричными верхними молекулами
Ключевое различие между симметричными и асимметричными молекулами верха состоит в том, что молекулы симметричного верха имеют одну ось собственного вращения и два момента инерции
Разница между трансгенными мышами и мышами с нокаутом
Ключевое различие между трансгенными мышами и мышами с нокаутом заключается в том, что трансгенные мыши имеют чужеродные гены, встроенные в их геном, в то время как мыши с нокаутом имеют функцию
Разница между цисгенезом и внутригенезом
Ключевое различие между цисгенезом и внутригенезом заключается в том, что при цисгенезе гены вводятся без каких-либо изменений в последовательности ДНК, а ген
Разница между собой и между собой
Друг друга против друг друга В английском языке есть взаимные местоимения, которые используются, чтобы говорить о взаимных чувствах. Два таких профи
Разница между ключевыми различиями между металлическими и неметаллическими минералами
Ключевое различие - металлические и неметаллические минералы Минерал - это встречающийся в природе твердый и неорганический компонент с определенной химической формулой и