Програм у извођењу познат је као процес. Процес се може поделити на више подпроцеса. На пример, Мицрософт Ворд је процес. У исто време проверава правописну грешку и граматику. То је подпроцес. Ови подпроцеси су познати као нити. Мултитхреадинг је процес извођења више нити истовремено. Навојне апликације могу се градити помоћу различитих програмских језика. Руннабле и Тхреад повезани су са Јава програмирањем. У Јави постоје две методе за креирање нити примјеном Руннабле интерфејса или проширивањем класе Тхреад. Приликом имплементације Руннабле-а, многе нити могу дијелити исти предмет нити док у класи Ектендинг Тхреад свака нит има јединствени објект повезан с њим. То је кључна разлика између Руннабле и Нит.
1. Преглед и кључне разлике
2. Шта се може покренути
3. Шта је нит
4. Сличности између руннабле и навоја
5. Упоредно упоређивање - Руннабле вс навој у табеларном облику
6. Резиме
Конац пролази кроз нека стања. „Ново“ је почетак животног циклуса нити. Након што метода старт () позове нову нит, она се може покренути. Ако алат за планирање навоја изабере нит, прелази у тренутно стање. Нит чека стање ако тај нит чека да други нит изврши задатак. Након што нит заврши рад, прелази у стање завршетка.
Конац се може имплементирати помоћу Руннабле интерфејса. Погледајте доњи програм.
Слика 01: Јава програм за креирање нити помоћу Руннабле интерфејса
Према горе наведеном програму, класа Руннабле Демо имплементира Руннабле интерфејс. Метода рун () је унутар класе која имплементира Руннабле интерфејс. То је улазна тачка за нит. Логика је у рун () методи. У главном програму, нит се ствара дефинисањем објекта који је инстанциран од Руннабле Демо класе. То је т1. Метода старт () се назива помоћу т1.
Погледајте доњи програм.
Слика 02: Јава програм за креирање нити за извршавање петље, применом Руннабле интерфејса
Према горњем примеру, класа Руннабле Демо имплементира Руннабле интерфејс. Логика коју треба извршити помоћу нити је написана у рун () методи. У главном програму, нит се ствара дефинисањем објекта који је инстанциран од Руннабле Демо класе. То је т1. Затим се користи метода старт () помоћу т1.
Други начин креирања нити је ширење класе Тхреад. Састоји се од три корака. Прво је прогласити класу продужењем класе Тхреад. Након тога треба уписати методу рун (). Има редослед корака које нит треба да изведе. Коначно, креира се нитни објект и позива се метода старт () да покрене извршење нити. Погледајте доњи програм.
Слика 03: Јава програм који проширује класу Тхреад
Према горе наведеном програму, класа МиТхреад проширује класу Тхреад. Надјачава методу покретања. Метода рун () садржи логику коју треба извршити нит. То је улазна тачка за нит. Тада се ствара нитни објект. То је нит1. Нит се покреће методом старт (). Извршиће позив да се покрене () метода.
Пример програма две класе који продужава класу Тхреад је следећи.
Слика 04: Јава програм са две класе које проширују класу Тхреад
Према горе наведеном програму, и класа А и Б проширују класу навоја. Обе класе имају своју примену методе рун (). Главна нит је која извршава методу маин (). Пре него што главна нит умре, креира и покреће нит1 и нит2. У тренутку када је главна нит дошла до краја главне методе, три нити су паралелно покренуте. Не постоји одређени редослед у којем нити дају излаз. Једном када се нит покрене, тешко је одлучити како ће извршити налог. Они трче независно.
Руннабле вс нит | |
Руннабле је интерфејс у Јави како би се створила нит која омогућава многим нитима да деле исти објект нити. | Конац је класа у Јави која креира нит где свака нит има јединствени објект повезан с њом. |
Меморија | |
У Руннабле-у више нити дијели исти објект, тако да треба мање меморије. | У класи Тхреад, свака нит ствара јединствени објект, па им је потребно више меморије. |
Проширење способности | |
Након имплементације Руннабле интерфејса, може проширити класу. | Вишеструко наслеђивање на Јава-у није подржано. Након проширивања класе Тхреад, не може проширити ниједну другу класу. |
Одржавање кода | |
Изводљиви интерфејс чини код одрживијим. | У класи нити, одржавање захтева пуно времена. |
Процес је подељен на више подпроцеса за обављање више задатака истовремено. Ови подпроцеси су познати као нити. Инстантирање нити може се извршити имплементацијом интерфејса Руннабле или проширењем класе нити. Лако је проширити класу нити, али није боља пракса објектно оријентисаног програмирања. Приликом имплементације Руннабле-а, многе нити могу дијелити исти објект нити, док у проширењу класе Тхреад-а свака нит има придружени јединствени објект. То је разлика између Руннабле и Тхреад-а. У класи Тхреад стварање више објеката може потрошити више меморије.
Можете преузети ПДФ верзију овог чланка и користити је за оффлине употребу према напомени. Молимо преузмите ПДФ верзију овде. Разлика између Руннабле и Тхреад-а
1.туториалспоинт.цом. „Јава мултитхреадинг“. Тачка, доступна овде
2.Прамодбаблад. "Продужује Тхреад Вс Имплементс Руннабле Ин Јава." Јава концепт дана, 11. новембра 2016. Доступно овде
3. Начини креирања теме у Јава мултитхреадингу | Цоре Јава Туториал | Студитонигхт. Доступно овде