saat menggunakan pola tunggal, hanya satu contoh dibuat dalam multi threading?
Menggunakan threadsafe kelas tunggal akan menjamin bahwa hanya satu contoh dibuat.
publik disegel kelas Singleton
{
swasta statis Singleton tunggal = null;
private static readonly objek singletonLock = new objek();
pribadi Singleton() {}
public static Singleton getInstance()
{
mengunci (singletonLock)
{
jika (tunggal == null)
{
tunggal = new Singleton();
}
kembali tunggal ;
}
}
}
Isu akan menaikkan hanya ketika penciptaan tingkat pertama.
Menggunakan kunci() akan memberikan kami thread aman untuk menghindari eksekusi dari dua benang pada waktu yang sama untuk membuat instance.
Sekali lagi kita memverifikasi (singletonobject == null) sehingga akan menjamin bahwa hanya sekali contoh akan dibuat.
Pilihan periksa akan bukti penuh untuk kelas kami.
Tinggalkan Balasan