Különbség az alvó és a várakozás között A különbség

Anonim

Alvó-Várás

mivel a számítógépek a mesterséges nyelvet használják programok létrehozására, irányítására, és lehetővé teszik számukra, hogy kommunikáljanak az utasításokkal és kifejezzék az algoritmusokat. Ezt a nyelvet programozási nyelvnek hívják.

A számítógépek megjelenése előtt a programnyelveket már használták szövőszékek és zongorákban. A számítógépes használat gyakoribbá vált, ma már több programozási nyelv is használható.

Számos számítógépes nyelv létezik, beleértve a magas szintű nyelveket, mint például: BASIC, C, C ++, Fortran, Pascal és Java. Minden virtuális gépnek és CPU-nak saját számítógépes nyelvük van, mindegyik saját gyengeségeivel és erősségeivel rendelkezik, és minden virtuális gép elindul egy szálat. Ez a szál végrehajtja az alkalmazási kódot a programban. A program gyorsabban futhat, és segíthet a teljesítményében és hasznosságában, különösen akkor, ha több szálat használ.

A virtuális gépek, mint például a Java virtuális gép, támogatják a többszálú koncepciót, magasabb prioritású szálakkal, amelyeket először az alacsonyabb prioritású szálak fölé hajtanak, biztosítva az időfeldolgozás tisztességes megosztását.

Olyan szálkezelési módszereket használ, amelyek létrehozhatják, vezérelhetik és megszüntethetik a vezérlőelemek vagy szálak áramlását egy megosztott térben. A szálkezelési módszerek közül kettő a várakozás és az alvás módja.

Ez a két módszer különálló. Az alvás módszer szabályozza a menet végrehajtását, és késlelteti a következő műveletet, miközben a várakozásmód nem vezérli a szál végrehajtását, hogy más szálak futjanak.

A várakozási mód meghatározása az Object osztályban történik, és az aktuális szálat a nem futható állapotba küldi. Az értesítést és a NotifyAll módszerrel együtt használja, hogy egy objektum végrehajtási kódját ideiglenesen szüneteltesse, és később újraindíthassa.

Úgy működik, hogy hívja a zár objektumot, és hagyja, hogy az aktuális szál szinkronizálódjon vele. A várakozás elengedi a zárat, és a szálat a várakozó listába helyezi, és más szálakat szinkronizál, ezzel az eredeti szál ébred. A programozó meghatározza a végrehajtás megkezdésének pontos időpontját.

Az alvás módja statikus módszer. Ez késlelteti a szálak és nem tárgyak végrehajtását, valamint felfüggeszti a végrehajtani kívánt szálat. Az aktuális szálakat bizonyos ideig nem aktuális állapotba küldi. Ez befolyásolhatja a többszálú alkalmazások viselkedését, mert megtartja az aktuális szál szinkronizációs zárait. Miután a szál egy szinkronizált mondatban van, akkor nem lehet másik szál bejutni a blokkba.

Összefoglaló:

1. A "Sleep" egy olyan szálkezelési módszer, amely statikus módszerként definiálódik, míg a "wait" egy olyan objektumkezelési módszer, amelyet az Object osztály határoz meg.

2. Az alvás olyan módszer, amely végrehajtja a szálakat, míg a várakozás olyan módszer, amely objektumokat futtat.

3. Az alvó megtartja az aktuális szál szinkronizációs zárait, és befolyásolja az alkalmazások viselkedését, amíg a várakozás nem.

4. Az alvás vezérli a menet végrehajtását, és nem engedélyezi más szálak szinkronizált blokkban történő várakozását, amíg a várakozás nem vezérli a szál végrehajtását, hogy más szálak fussanak.