Wat is die gebruik van ThreadLocal?
Wat is die gebruik van ThreadLocal?

Video: Wat is die gebruik van ThreadLocal?

Video: Wat is die gebruik van ThreadLocal?
Video: Рынок IT в 2021. Intel и конкуренты. Игры от Netflix. [MJC News #8] 2024, Mei
Anonim

Java ThreadLocal word gebruik om draad plaaslike veranderlikes te skep. Ons weet dat alle drade van 'n objek sy veranderlikes deel, so die veranderlike is nie draadveilig nie. Ons kan sinchronisasie gebruik vir draadveiligheid, maar as ons sinchronisasie wil vermy, kan ons ThreadLocal-veranderlikes gebruik.

Net so, waarvoor word ThreadLocal-klas gebruik?

Java ThreadLocal klas verskaf draad-plaaslik veranderlikes. Dit stel jou in staat om veranderlikes te skep wat net deur dieselfde draad gelees en geskryf kan word. As twee drade dieselfde kode uitvoer en daardie kode het 'n verwysing na a ThreadLocal veranderlike dan kan die twee drade nie die plaaslike veranderlike van mekaar sien nie.

Behalwe hierbo, hoekom is ThreadLocal staties en finaal? Soos ons kan sien, is die staties voorbeeld van ThreadLocal word slegs as soeksleutel gebruik. Die waarde daarvan kan nie verander word nie, want dit is verklaar finaal . Die ThreadLocal instansie is heeltemal draad-veilig, want dit is regtig lees-alleen so sinchronisasie word nie vereis. Wat moontlik nie draadveilig is nie, is die teikenvoorwerp.

Net so kan jy vra, hoe werk ThreadLocal in Java?

Die Java ThreadLocal klas stel jou in staat om veranderlikes te skep wat net deur dieselfde draad gelees en geskryf kan word. Dus, selfs as twee drade dieselfde kode uitvoer, en die kode het 'n verwysing na dieselfde ThreadLocal veranderlike, kan die twee drade mekaar s'n nie sien nie ThreadLocal veranderlikes.

Hoekom is ThreadLocal staties?

Kortom, ThreadLocal voorwerp werk soos 'n sleutel-waarde kaart. staties finaal ThreadLocal veranderlikes is draad veilig. staties maak die ThreadLocal veranderlike beskikbaar oor verskeie klasse slegs vir die onderskeie draad. dit is 'n soort Global veranderlike decaration van die onderskeie plaaslike draad veranderlikes oor verskeie klasse.

Aanbeveel: