Hogyan javítod a versenykörülményeket?
Hogyan javítod a versenykörülményeket?

Videó: Hogyan javítod a versenykörülményeket?

Videó: Hogyan javítod a versenykörülményeket?
Videó: Want to win? Stop trying to beat other people | Kayvon Asemani | TEDxPenn 2024, Április
Anonim

egyszerű módja annak javítani "ellenőrizd és cselekedj" versenykörülmények A kulcsszó szinkronizálása és a zárolás kényszerítése, amely atomikussá teszi ezt a műveletet, és garantálja, hogy a blokkot vagy a metódust csak egy szál hajtja végre, és a művelet eredménye minden szál számára látható lesz, ha a szinkronizált blokkok befejeződnek vagy a szál kilép az űrlapból

Ennek megfelelően hogyan oldja meg a versenyfeltételeket?

Nak nek kerülje a versenyhelyzetet szükségünk van a kölcsönös kizárásra. A kölcsönös kizárás valamilyen módon annak biztosítására szolgál, hogy ha az egyik folyamat megosztott változót vagy fájlt használ, a többi folyamatot kizárja ugyanazon dolgok elvégzéséből.

Másodszor, mi okozza a faji állapotot? A verseny állapota rendellenes viselkedés okozta az események relatív időzítésétől való váratlan függőség által. Más szóval, a programozó helytelenül feltételezte, hogy egy adott esemény mindig előbb következik be, mint egy másik. Néhány a közös okoz nak,-nek versenykörülmények jelzések, hozzáférés-ellenőrzések és fájlmegnyílik.

Ezen kívül mi a faji állapot példával?

A verseny állapota egyfajta hiba, ami csak bizonyos időbeli hibák esetén fordul elő körülmények . Példa : Képzelje el, hogy két szála van, A és B. Ha az A szálat közvetlenül az objektum ellenőrzése után előzi meg. a nem nulla, B a = 0 értéket fogja megtenni, és amikor az A szál megkapja a processzort, akkor "oszt nullával".

Mi a verseny állapota C-ben?

A verseny állapota olyan nemkívánatos helyzet, amely akkor fordul elő, amikor egy eszköz vagy rendszer egyszerre két vagy több műveletet kísérel meg végrehajtani, de az eszköz vagy rendszer természetéből adódóan a műveleteket a megfelelő sorrendben kell végrehajtani a helyes végrehajtáshoz.

Ajánlott: