Kuo naudinga „ThreadLocal“?
Kuo naudinga „ThreadLocal“?

Video: Kuo naudinga „ThreadLocal“?

Video: Kuo naudinga „ThreadLocal“?
Video: Klausimėlis: Kuo naudinga Europos Sąjunga? 2024, Gegužė
Anonim

Java ThreadLocal naudojamas gijos vietiniams kintamiesiems kurti. Žinome, kad visos objekto gijos dalijasi jo kintamaisiais, todėl kintamasis nėra saugus gijai. Galime naudoti sinchronizavimą gijų saugumui, bet jei norime išvengti sinchronizavimo, galime naudoti ThreadLocal kintamuosius.

Taigi, kam naudojama ThreadLocal klasė?

Java ThreadLocal klasė numato siūlas-vietinis kintamieji. Tai leidžia kurti kintamuosius, kuriuos galima skaityti ir rašyti tik ta pačia gija. Jei dvi gijos vykdo tą patį kodą ir tas kodas turi nuorodą į a ThreadLocal kintamąjį, tada dvi gijos nemato viena kitos vietinio kintamojo.

Be to, kodėl ThreadLocal yra statinis ir galutinis? Kaip matome, statinis pavyzdys ThreadLocal naudojamas tik kaip paieškos raktas. Jo vertės keisti negalima, nes ji deklaruojama galutinis . The ThreadLocal egzempliorius yra visiškai saugus gijai, nes jis iš tikrųjų yra tik skaitomas, todėl sinchronizavimas nėra atlyginamas. Tai, kas gali būti nesaugu, yra tikslinis objektas.

Panašiai galite paklausti, kaip „ThreadLocal“veikia „Java“?

The Java ThreadLocal klasė leidžia kurti kintamuosius, kuriuos gali skaityti ir rašyti tik ta pati gija. Taigi, net jei dvi gijos vykdo tą patį kodą, o kodas turi nuorodą į tą patį ThreadLocal kintamasis, abi gijos nemato viena kitos ThreadLocal kintamieji.

Kodėl „ThreadLocal“yra statiška?

Trumpai tariant, ThreadLocal objekto veikimą kaip rakto-reikšmių žemėlapį. statinis galutinis ThreadLocal kintamieji yra saugūs. statinis daro ThreadLocal kintamasis galimas keliose klasėse tik atitinkamai gijai. tai tam tikras pasaulinis atitinkamo kintamojo dekaravimas siūlas vietinis kintamieji keliose klasėse.

Rekomenduojamas: