Разлика между Runnable и Thread

Ключова разлика - изпълняема срещу конец
 

Програма в изпълнение е известна като процес. Процесът може да бъде разделен на множество подпроцеси. Например Microsoft Word е процес. В същото време проверява за правописната грешка и граматиката. Това е подпроцес. Тези подпроцеси са известни като нишки. Многопоточността е процесът на изпълнение на няколко нишки едновременно. Резбовани приложения могат да бъдат изградени с помощта на различни езици за програмиране. Runnable и Thread са свързани с програмирането на Java. В Java има два метода за създаване на нишка чрез внедряване на Runnable интерфейс или разширяване на клас Thread. Когато внедрявате Runnable, много нишки могат да споделят един и същ обект на нишка, докато в клас Extending Thread, всяка нишка има уникален обект, свързан с него. Това е ключова разлика между Runnable и Thread.

СЪДЪРЖАНИЕ

1. Преглед и ключова разлика
2. Какво е Runnable
3. Какво е конец
4. Прилики между Runnable и Thread
5. Паралелно сравнение - Изпълнява се срещу нишка в таблична форма
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 () съдържа логиката, която се изпълнява от нишката. Това е входната точка на нишката. Тогава обектът на нишката се създава. Тя е нишка1. Нишката се стартира с помощта на метода start (). Той ще изпълни обаждането към метода run ().

Примерна програма от два класа, разширяваща класа Thread, е следната.

Фигура 04: Java програма с два класа, които разширяват класа Thread

Според горната програма, както клас А, така и В, разширяват класа на резбата. И двата класа имат своето изпълнение на метода run (). Основната нишка е тази, която изпълнява метода main (). Преди основната нишка да умре, тя създава и стартира нишка1 и нишка2. По времето, когато основната нишка достигне края на основния метод, три нишки работят паралелно. Няма конкретен ред, в който нишките дават изход. След стартиране на нишката е трудно да се реши поръчката, която ще изпълнят. Те работят независимо.

Какви са приликите между Runnable и Thread?

  • И двете използват, за да създадат нишка в Java.

Каква е разликата между Runnable и Thread?

Runnable vs Thread

Runnable е интерфейс в Java за създаване на нишка, която позволява на много нишки да споделят един и същи обект на нишка. Нишката е клас в Java за създаване на нишка, където всяка нишка има уникален обект, свързан с нея.
 памет
В Runnable няколко нишки споделят един и същ обект, така че се изисква по-малко памет. В клас Thread всяка нишка създава уникален обект, следователно изисква повече памет.
Разширяване на способността
След внедряване на Runnable интерфейс, той може да разшири клас. Множество наследявания не се поддържат в Java. След разширяването на клас Thread, той не може да разшири друг клас.
 Поддържане на код
Интерфейс, който може да се изпълнява, прави код по-поддържан. В клас на резбата поддържането отнема много време.

Обобщение - Изпълнява се срещу конец 

Процесът е разделен на множество подпроцеси за изпълнение на няколко задачи едновременно. Тези подпроцеси са известни като нишки. Инсталирането на нишка може да се извърши чрез прилагане на интерфейса Runnable или чрез разширяване на класа на нишката. Лесно е да се разшири класът на нишката, но не е по-добра практика на обектно-ориентирано програмиране. Когато внедрявате Runnable, много нишки могат да споделят един и същ обект на нишка, докато в разширяващия клас Thread всяка тема има уникален обект, свързан с него. Това е разликата между Runnable и Thread. В клас Thread създаването на множество обекти може да консумира повече памет.

Изтеглете PDF от Runnable vs Thread

Можете да изтеглите PDF версия на тази статия и да я използвате за офлайн цели, съгласно цитираната бележка. Моля, изтеглете PDF версията тук Разлика между Runnable и Thread

справка:

1.tutorialspoint.com. „Многопоточност на Java.“ Точката, налична тук 
2.Pramodbablad. „Удължава нишката Vs изпълнява изпълними в Java.“ Java Concept of the Day, 11 ноември 2016. Достъпно тук
3. Начини за създаване на тема в Java Multithreading | Основен урок на Java | Studytonight. Налични тук