Jooksva Ja Lõime Erinevus

Sisukord:

Jooksva Ja Lõime Erinevus
Jooksva Ja Lõime Erinevus

Video: Jooksva Ja Lõime Erinevus

Video: Jooksva Ja Lõime Erinevus
Video: Lahused ja pihused 2024, Mai
Anonim

Peamine erinevus - joostav vs lõng

Käivitatavat programmi nimetatakse protsessiks. Protsessi võib jagada mitmeks alamprotsessiks. Näiteks Microsoft Word on protsess. Samal ajal kontrollib see õigekirjaviga ja grammatikat. See on alamprotsess. Neid alamprotsesse nimetatakse niitideks. Mitme lõimimine on mitme lõime samaaegne käivitamine. Keermestatud rakendusi saab koostada erinevate programmeerimiskeelte abil. Runnable ja Thread on seotud Java programmeerimisega. Javas on lõime loomiseks käivitatava liidese juurutamise või klassi Thread laiendamise kaudu kaks meetodit. Runnable'i juurutamisel saavad paljud lõimed jagada sama lõimeobjekti, samas kui klassis Laiendamine lõime on igal lõimel seotud ainulaadne objekt. See on peamine erinevus Runnable ja Thread vahel.

SISU

1. Ülevaade ja

põhierinevus 2. Mis on joostav

3. Mis on lõime

4. Jooksva ja lõime sarnasused

5. Kõrvuti võrdlus - jooksev vs lõng tabelina

6. Kokkuvõte

Mis on joostav?

Mõnest olekust läbib niit. “Uus” on lõime elutsükli algus. Pärast seda, kui algus () meetod kutsub uue lõime, saab see käivitatavaks. Kui lõime ajastaja valib lõime, läheb see üle jooksvasse olekusse. Lõng ootab olekut, kui see lõim ootab ülesande täitmiseks teist lõime. Pärast lõime töö lõpetamist läheb see lõpetamise olekusse.

Lõnga saab rakendada liidese Runnable abil. Vaadake allolevat programmi.

Jooksva ja lõime erinevus
Jooksva ja lõime erinevus

Joonis 01: Java-programm lõime loomiseks Runnable-liidese abil

Ülaltoodud programmi kohaselt rakendab klassi Runnable Demo Runnable liidese. Run () meetod on klassis, mis rakendab Runnable liidest. See on lõime sisestuspunkt. Loogika on meetod run (). Põhiprogrammis luuakse lõim objekti määratlemisega, mis ilmnes klassist Jooksev demo. On t1. Start () meetodit nimetatakse t1 abil.

Vaadake allolevat programmi.

Jooksva ja Thread Figure 02 erinevus
Jooksva ja Thread Figure 02 erinevus

Joonis 02: Java-programm tsükli käivitamiseks lõime loomiseks, käivitades liidese Runnable

Ülaltoodud näite kohaselt rakendab klassi Runnable Demo Runnable liidest. Lõime abil käivitatav loogika on kirjutatud run () meetodis. Põhiprogrammis luuakse lõim objekti määratlemisega, mis ilmnes klassist Jooksev demo. On t1. Seejärel nimetatakse start () meetodit t1 abil.

Mis on niit?

Teine lõime loomise meetod on klassi Thread laiendamine. See koosneb kolmest etapist. Esiteks on kuulutada klass niidi laiendajaks. Pärast tuleks kirjutada meetod run (). Sellel on sammude järjestus, mille lõng peaks käivitama. Lõpuks luuakse lõimeobjekt ja lõime käivitamise algatamiseks kutsutakse meetod start (). Vaadake allolevat programmi.

Jooksva ja Thread Figure vahe 03
Jooksva ja Thread Figure vahe 03

Joonis 03: Java-programm, mis laiendab lõimeklassi

Vastavalt ülaltoodud programmile laiendab MyThreadi klass Threadi. See alistab käitamismeetodi. Run () meetod sisaldab lõime käivitatava loogika. See on lõime sisenemispunkt. Seejärel luuakse lõimeobjekt. See on niit1. Lõng käivitatakse meetodiga start (). See käivitab kõne käitamiseks () meetodi.

Kahest klassist lõime laiendava klassi näidisprogramm on järgmine.

Põhiline erinevus jooksetava ja lõime vahel
Põhiline erinevus jooksetava ja lõime vahel

Joonis 04: Java-programm kahe klassiga, mis laiendavad Thread-klassi

Vastavalt ülaltoodud programmile laiendavad nii A- kui ka B-klass Thread-klassi. Mõlemal klassil on run () meetod rakendatud. Peamine lõime on see, mis täidab peamise () meetodi. Enne peaniidi surma loob ja käivitab lõime1 ja lõime2. Selleks ajaks, kui peaniit põhimeetodi lõppu jõudis, töötavad paralleelselt kolm lõime. Keermed ei anna väljundit kindlas järjekorras. Kui lõim on alustatud, on raske otsustada, millist järjekorda nad täidavad. Nad jooksevad iseseisvalt.

Millised on jooksva ja lõime sarnasused?

Mõlemad kasutavad Java lõime loomiseks

Mis vahe on joostava ja niidi vahel?

Erinev artikkel keskel enne tabelit

Jooksev vs lõime

Runnable on Java liides lõime loomiseks, mis võimaldab paljudel lõimudel sama lõimeobjekti jagada. Lõng on Java-klass, mis loob lõime, kus igal lõimel on seotud ainulaadne objekt.
Mälu
Rakendis Runnable jagavad mitut lõime sama objekti, seega on vaja vähem mälu. Klassis Thread loob iga lõime ainulaadse objekti, mistõttu on vaja rohkem mälu.
Võime laiendamine
Pärast Runnable liidese juurutamist võib see klassi laiendada. Java ei toeta mitut pärimist. Pärast Thread-klassi laiendamist ei saa see ühtegi teist klassi laiendada.
Koodi hooldatavus
Töötav liides muudab koodi hooldatavamaks. Threadi klassis on hooldamine aeganõudev.

Kokkuvõte - joostav vs lõng

Protsess on jagatud mitmeks alamprotsessiks mitme ülesande samaaegseks täitmiseks. Neid alamprotsesse nimetatakse niitideks. Lõnga saab instantsida Runnable liidese juurutamise või lõimeklassi laiendamise abil. Thread-klassi on lihtne laiendada, kuid see pole parem objekt-orienteeritud programmeerimise praktika. Runnable'i juurutamisel saavad paljud lõimed jagada sama lõimeobjekti, samas kui lõimklassi laiendamisel on igal lõimel seotud ainulaadne objekt. See on erinevus Runnable ja Thread vahel. Klassis Thread võib mitme objekti loomine tarbida rohkem mälu.

Laadige alla Runnable vs Thread

Selle artikli PDF-versiooni saate alla laadida ja kasutada võrguühenduseta eesmärkidel, nagu tsiteeritud. Laadige PDF-versioon siit alla Jooksva ja lõime erinevus

Soovitatav: