Орындалатын және жіп арасындағы айырмашылық

Мазмұны:

Орындалатын және жіп арасындағы айырмашылық
Орындалатын және жіп арасындағы айырмашылық

Бейне: Орындалатын және жіп арасындағы айырмашылық

Бейне: Орындалатын және жіп арасындағы айырмашылық
Бейне: Ашық сабаққа арналған 3 ҮЗДІК ИДЕЯ 2024, Желтоқсан
Anonim

Негізгі айырмашылық – орындалатын және ағынмен

Орындалудағы бағдарлама процесс ретінде белгілі. Процесті бірнеше ішкі процестерге бөлуге болады. Мысалы, Microsoft Word - бұл процесс. Сонымен бірге емле қатесі мен грамматиканы тексереді. Бұл қосалқы процесс. Бұл ішкі процестер ағындар ретінде белгілі. Multithreading – бірнеше ағындарды бір уақытта орындау процесі. Бұрандалы қосымшаларды әртүрлі бағдарламалау тілдерінің көмегімен құруға болады. Runnable және Thread Java бағдарламалауымен байланысты. Java тілінде Runnable интерфейсін енгізу немесе Thread сыныбын кеңейту арқылы ағын жасаудың екі әдісі бар. Runnable бағдарламасын іске асырған кезде көптеген ағындар бір ағын нысанын ортақ пайдалана алады, ал Extending Thread сыныбында әрбір ағын онымен байланысты бірегей нысанға ие болады. Бұл Runnable және Thread арасындағы негізгі айырмашылық.

Runnable дегеніміз не?

Жіп кейбір күйлер арқылы өтеді. «Жаңа» - жіптің өмірлік циклінің басы. start() әдісі жаңа ағынды шақырғаннан кейін ол іске қосылатын болады. Егер ағынды жоспарлаушы ағынды таңдаса, ол орындалу күйіне өтеді. Ағын тапсырманы орындау үшін басқа ағынды күтіп тұрса, ағын күйді күтуде. Жіп жұмысты аяқтағаннан кейін ол тоқтату күйіне өтеді.

Ағынды іске қосу интерфейсі арқылы іске асыруға болады. Төмендегі бағдарламаны қараңыз.

Орындалатын және жіптің айырмашылығы
Орындалатын және жіптің айырмашылығы

01-сурет: Runnable интерфейсін пайдаланып ағын жасауға арналған Java бағдарламасы

Жоғарыдағы бағдарламаға сәйкес Runnable Demo класы Runnable интерфейсін жүзеге асырады. run() әдісі Runnable интерфейсін жүзеге асыратын сынып ішінде. Бұл жіптің кіру нүктесі. Логика run() әдісінде. Негізгі бағдарламада ағын Runnable Demo сыныбынан жасалған нысанды анықтау арқылы жасалады. Бұл t1. start() әдісі t1 арқылы шақырылады.

Төмендегі бағдарламаны қараңыз.

Орындалатын және жіп_суретінің арасындағы айырмашылық 02
Орындалатын және жіп_суретінің арасындағы айырмашылық 02

02-сурет: Runnable интерфейсін енгізу арқылы циклды орындау үшін ағынды жасауға арналған Java бағдарламасы

Жоғарыдағы мысалға сәйкес, Runnable Demo класы Runnable интерфейсін жүзеге асырады. Жіпті пайдаланып орындалатын логика run() әдісінде жазылған. Негізгі бағдарламада ағын Runnable Demo сыныбынан жасалған нысанды анықтау арқылы жасалады. Бұл t1. Содан кейін start() әдісі t1 арқылы шақырылады.

Жіп дегеніміз не?

Жіпті жасаудың басқа әдісі Thread сыныбын кеңейту болып табылады. Ол үш қадамнан тұрады. Біріншіден, сыныпты Thread сыныбын кеңейту деп жариялау. Содан кейін run() әдісін жазу керек. Онда ағынның орындалуы керек қадамдар тізбегі бар. Соңында ағын нысаны жасалады және ағынның орындалуын бастау үшін start() әдісі шақырылады. Төмендегі бағдарламаны қараңыз.

Орындалатын және жіп_суретінің арасындағы айырмашылық 03
Орындалатын және жіп_суретінің арасындағы айырмашылық 03

03-сурет: Thread класын кеңейтетін Java бағдарламасы

Жоғарыдағы бағдарламаға сәйкес MyThread сыныбы Thread сыныбын кеңейтеді. Ол іске қосу әдісін қайта анықтайды. run() әдісі ағынмен орындалатын логиканы қамтиды. Бұл жіпке кіру нүктесі. Содан кейін жіп нысаны жасалады. Бұл жіп 1. Жіп start() әдісі арқылы іске қосылады. Ол run() әдісіне шақыруды орындайды.

Thread сыныбын кеңейтетін екі сыныптың мысалы бағдарламасы келесідей.

Орындалатын және жіптің негізгі айырмашылығы
Орындалатын және жіптің негізгі айырмашылығы

04-сурет: Thread класын кеңейтетін екі класы бар Java бағдарламасы

Жоғарыдағы бағдарламаға сәйкес, А және В сыныбының екеуі де Thread сыныбын кеңейтеді. Екі сыныпта да run() әдісі бар. Негізгі ағын - main() әдісін орындайтын. Негізгі ағын өлмей тұрып, ол ағын1 және ағын2 жасайды және бастайды. Негізгі жіп негізгі әдістің соңына жеткенде, үш жіп параллель жұмыс істейді. Жіптер шығаруды беретін нақты тәртіп жоқ. Жіп іске қосылғаннан кейін олардың орындалатын тәртібін анықтау қиын. Олар тәуелсіз жұмыс істейді.

Runnable және Thread арасындағы қандай ұқсастықтар бар?

Екеуі де Java тілінде ағын жасау үшін пайдаланады

Runnable және Thread арасындағы айырмашылық неде?

Runnable vs Thread

Runnable - Java тіліндегі интерфейс, ол көптеген ағындарға бірдей ағын нысанын ортақ пайдалануға мүмкіндік беретін ағынды жасайды. Жіп – Java тіліндегі сынып, онда әрбір ағынның онымен байланыстырылған бірегей нысаны бар ағынды жасауға арналған.
Жад
Runnable бағдарламасында бірнеше ағындар бір нысанды ортақ пайдаланады, сондықтан жад азырақ қажет. Thread сыныбында әрбір ағын бірегей нысан жасайды, сондықтан көбірек жадты қажет етеді.
Кеңейту мүмкіндігі
Runnable интерфейсін енгізгеннен кейін ол сыныпты кеңейте алады. Java тілінде бірнеше мұраға қолдау көрсетілмейді. Thread сыныбын кеңейткеннен кейін ол басқа сыныпты кеңейте алмайды.
Кодтың сақталуы
Орындалатын интерфейс кодты қолдауға мүмкіндік береді. Thread сыныбында жөндеу көп уақыт алады.

Қорытынды – Орындауға болатын және ағын

Бір уақытта бірнеше тапсырманы орындау үшін процесс бірнеше ішкі процестерге бөлінген. Бұл ішкі процестер ағындар ретінде белгілі. Ағынды іске қосу Runnable интерфейсін енгізу немесе Thread сыныбын кеңейту арқылы жасалуы мүмкін. Thread класын кеңейту оңай, бірақ бұл жақсырақ нысанға бағытталған бағдарламалау тәжірибесі емес. Runnable бағдарламасын іске асыру кезінде көптеген ағындар бірдей ағын нысанын ортақ пайдалана алады, ал Thread сыныбын кеңейту кезінде әрбір ағында онымен байланыстырылған бірегей нысан болады. Бұл Runnable және Thread арасындағы айырмашылық. Thread сыныбында бірнеше нысан жасау көбірек жадты тұтынуы мүмкін.

Runnable vs Thread PDF файлын жүктеп алу

Сіз осы мақаланың PDF нұсқасын жүктеп алып, сілтеме жазбасына сәйкес офлайн мақсаттарда пайдалана аласыз. PDF нұсқасын мына жерден жүктеп алыңыз: Runnable және Thread арасындағы айырмашылық

Ұсынылған: