See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 27855|Vastuse: 1

[Allikas] Java ThreadKohalikud põhimõtted ja mitmelõimeline taaskasutus põhjustavad andmete segadust

[Kopeeri link]
Postitatud 01.11.2021 11:45:36 | | | |
Programmeerimises määratleme meetodi parameetrid muutujate sisu edastamiseks, kui täitmismeetodi tase on sügav, peab iga meetod määrama läbitavad parameetrid; sel ajal saab mõningaid muutujaid ThreadLocali kaudu edasi anda, kui kõik meetodid täidetakse samal lõimel, saab määrata ja lugeda ThreadLocali väärtust.

ThreadLocal klassi kasutatakse lokaalsete muutujate pakkumiseks lõime sees. Kui neid muutujaid kasutatakse (get/set) mitmelõimelises keskkonnas, on iga lõime muutujad suhteliselt sõltumatud teiste lõimede muutujatest.

ThreadLocal saab esmalt praeguse lõime (Thread t = Thread.currentThread()) seaditud meetodi täitmisel ja kasutab praegust lõime, et saada ThreadLocalMap; kui kaart ei ole tühi, tähendab see, et praegusel lõimel on varem seotud kaart, seejärel uuendab selle kaardi väärtust, kui mitte, kasutab end võtmena, et panna väärtus kaardile, et saavutada muutujate ja lõimede sidumine.



Testi koodi, sea lõimebassein maksimaalselt 5 lõime, ja kui kutsume ThreadLocal get meetodit mitme lõime puhul, saame ThreadLocal andmed (Andmekogum teiste lõimede poolt), usThreadLocal komplekti meetodit ei kutsuta praeguses lõimes andmete seadistamiseks, nagu alloleval joonisel näidatud:



Viga põhjustab:Kui lõime uuesti kasutatakse, on tõenäoline, et esimene ThreadLocalist saadud väärtus on ülejäänud väärtus teistest varasematest lõimedest

Sest pärast seda, kui oleme ThreadLocaliga praeguses teemas lõpetanud,Kindlasti helista eemaldamisele õigeaegseks puhastuseks。 Nagu allpool näidatud:



Kood:

(Lõpp)





Eelmine:Docker vaatab konteineri taaskäivituse seadeid ja konteinerite hulgipeatusi
Järgmine:Jenkins (5) Projektigrupi esitlus
Postitatud 02.11.2021 21:30:12 |
Tule uuesti õppima.
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com