felejtő változók
felejtő változók
Az illékony kulcsszó csak a változó, és a következő hatásokat többszálú programozás:
- 1. A változó mindig olvasható a fő memória, és soha nem cache memória fluxus, ezért mindig rendelkezésre áll, hogy minden szál;
- 2. Amikor a kérelmek az olvasás és írás több folyam, a rendszer teljesítménye garantáltan első írási kéréseket;
- 3. atomicitás garantált írási / olvasási műveletek, bár ez csak akkor igaz, változókra típusú hosszú és dupla, más típusú ezen intézkedések és így atomi. Minden egyéb műveletek, mint például a ++, szinkronizálás kívül végzik, vagy használni atomi típusok, mint a AtomicInteger java.util.concurrent.atomic a csomag;
- 4. Az eredmények az előző bekezdésekben az áramlások nem blokkolja várja a kiadás a monitor;
Objektum változó nulla is lehet.
Az alábbiakban egy példát egyelem¶ lusta elindulni. Tegyük fel, hogy egy szál létrehoz egy példányt. A helyzet állhat elő, amikor a példány már említett a létrehozott objektum, de a patak nem tudott kijutni a szinkront blokk a rendszer átadta a vezérlést más hullámok. Ebben az esetben, anélkül illékony minden más patakok fokon még üres. És ha áramlatok is szüksége van rá, akkor lesz tétlen.
Egy másik példa az, amikor egy szál be kell fejezni a megfigyelt változó értékét a másik falon. Vegye ki a játék két árammal, egy patak gui, egy másik játék ciklust. Tegyük fel, ha megnyom egy bizonyos változó btExit ustnavlivaetsya igaz. De anélkül, hogy az illékony játék menet kihagyhatja ezt a változást.
A következő példában nélkül illékony nélkül System.out.print ( „”) a szerencsejáték-adatfolyam beadható a végtelenig (ellenőrzött Mac). Az illékony vagy System.out.print ( „”) a szerencsejáték-patak alkalmazás működjön: enterális után befejeztük mindkét áramot.