ThreadLocal dan qanday foydalanish kerak?
ThreadLocal dan qanday foydalanish kerak?

Video: ThreadLocal dan qanday foydalanish kerak?

Video: ThreadLocal dan qanday foydalanish kerak?
Video: Java Tech Talk: Hey Spring Boot, xotiram qayerga ketdi? [#ityoutubersru] 2024, May
Anonim

Java ThreadLocal mahalliy o'zgaruvchilarni yaratish uchun ishlatiladi. Biz bilamizki, Ob'ektning barcha oqimlari o'z o'zgaruvchilarini baham ko'radi, shuning uchun o'zgaruvchi ip xavfsiz emas. Sinxronizatsiyadan ip xavfsizligi uchun foydalanishimiz mumkin, lekin sinxronizatsiyadan qochishni istasak, ThreadLocal o'zgaruvchilaridan foydalanishimiz mumkin.

Shunday qilib, ThreadLocal klassi nima uchun ishlatiladi?

Java ThreadLocal klassi beradi ip-mahalliy o'zgaruvchilar. Bu sizga faqat bir xil ip tomonidan o'qilishi va yozilishi mumkin bo'lgan o'zgaruvchilarni yaratishga imkon beradi. Agar ikkita ip bir xil kodni bajarayotgan bo'lsa va bu kodda a ga havola bo'lsa ThreadLocal o'zgaruvchi bo'lsa, ikkita ip bir-birining mahalliy o'zgaruvchisini ko'ra olmaydi.

Yuqoridagilardan tashqari, nima uchun ThreadLocal statik va yakuniy hisoblanadi? Ko'rib turganimizdek, statik misol ThreadLocal faqat qidiruv kaliti sifatida ishlatiladi. Uning qiymatini o'zgartirib bo'lmaydi, chunki u e'lon qilingan final . The ThreadLocal instance to'liq tarmoq uchun xavfsizdir, chunki u haqiqatan ham faqat o'qish uchun mo'ljallangan, shuning uchun sinxronizatsiya talab qilinmaydi. Potensial ravishda tarmoq uchun xavfsiz bo'lmagan narsa maqsadli ob'ektdir.

Xuddi shunday, siz ThreadLocal Java-da qanday ishlaydi?

The Java ThreadLocal class faqat bir xil mavzu orqali o'qilishi va yozilishi mumkin bo'lgan o'zgaruvchilarni yaratishga imkon beradi. Shunday qilib, ikkita ip bir xil kodni bajarayotgan bo'lsa ham va kod bir xil ma'lumotga ega bo'lsa ThreadLocal o'zgaruvchan bo'lsa, ikkita ip bir-birini ko'ra olmaydi ThreadLocal o'zgaruvchilar.

Nima uchun ThreadLocal statik?

Qisqasi, ThreadLocal obyekt kalit-qiymat xaritasi kabi ishlaydi. statik final ThreadLocal o'zgaruvchilar ip xavfsizdir. statik qiladi ThreadLocal o'zgaruvchi faqat tegishli mavzu uchun bir nechta sinflarda mavjud. bu tegishli global o'zgaruvchan dekaratsiyaning bir turi mahalliy ip bir nechta sinflardagi o'zgaruvchilar.

Tavsiya: