Bila dan Cara Menggunakan Pembolehubah ThreadLocal
Pembolehubah ThreadLocal menyediakan mekanisme penting untuk mengurus data per-benang dalam aplikasi Java. Berikut ialah penerokaan yang mendalam tentang masa dan cara untuk menggunakan mereka dengan berkesan:
Bila Menggunakan Pembolehubah ThreadLocal
Satu senario utama untuk menggunakan pembolehubah ThreadLocal timbul apabila bekerja dengan bukan -benang-selamat objek yang anda ingin asingkan dalam benang individu. Ini mengelakkan keperluan untuk akses yang disegerakkan, menawarkan prestasi dan keselarasan yang dipertingkatkan.
Cara Menggunakan Pembolehubah ThreadLocal
Pembolehubah ThreadLocal diisytiharkan serupa dengan pembolehubah biasa, tetapi disegerakan menggunakan Kelas ThreadLocal. Kelas ini mendedahkan kaedah initialValue() yang membolehkan anda mewujudkan nilai lalai untuk pembolehubah dalam setiap urutan.
Contoh Penggunaan
Pertimbangkan contoh berikut:
public class Foo { // SimpleDateFormat is not thread-safe, so give one to each thread private static final ThreadLocal<SimpleDateFormat> formatter = new ThreadLocal<SimpleDateFormat>() { @Override protected SimpleDateFormat initialValue() { return new SimpleDateFormat("yyyyMMdd HHmm"); } }; public String formatIt(Date date) { return formatter.get().format(date); } }
Dalam contoh ini, SimpleDateFormat ialah kelas bukan-benang-selamat. Dengan menggunakan pembolehubah ThreadLocal, setiap utas memperoleh contoh SimpleDateFormatnya sendiri, mengurangkan kebimbangan keselamatan utas. Panggilan formatter.get() mengambil contoh yang dikaitkan dengan urutan semasa, membolehkan anda memformat tarikh tanpa penyegerakan.
Sumber Lanjut
Untuk cerapan tambahan tentang pembolehubah ThreadLocal , rujuk dokumentasi Java rasmi: [ThreadLocal Class (Java Platform SE 8)](https://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html)
Atas ialah kandungan terperinci Bila dan Bagaimana Saya Harus Menggunakan Pembolehubah ThreadLocal di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!