આ singleton પેટર્ન ઉપયોગ કરતી વખતે, એક માત્ર દાખલા બહુ થ્રેડીંગ માં બનાવેલ છે?
Threadsafe singleton વર્ગ ઉપયોગ કરીને માત્ર એક જ ઉદાહરણ બનાવવામાં આવેલ છે કે જે ખાતરી કરશે.
જાહેર સીલ વર્ગ સિંગલટોન
{
ખાનગી સ્ટેટિક સિંગલટોન singleton = નલ;
ખાનગી સ્ટેટિક ફક્ત વાંચવા પદાર્થ singletonLock = નવા પદાર્થ();
ખાનગી સિંગલટોન() {}
જાહેર સ્ટેટિક સિંગલટોન GetInstance()
{
લોક (singletonLock)
{
તો (singleton == નલ)
{
singleton = નવા સિંગલટોન();
}
પરત singleton ;
}
}
}
મુદ્દો પ્રથમ ઉદાહરણ ની ત્યારે જ બનાવટ એકત્ર કરશે.
લોક ઉપયોગ કરીને() અમને હમણાં બનાવવા માટે એક જ સમયે બે થ્રેડો અમલ ટાળવા સલામત થ્રેડ આપશે.
ફરી અમે ચકાસણી કરી રહ્યા (singletonobject == નલ) તેથી તે માત્ર એક જ વાર હમણાં બનાવાશે કે ખાતરી કરશે.
ડબલ ચેક વિકલ્પ અમારા વર્ગ માટે સંપૂર્ણ સાબિતી હશે.
એક જવાબ છોડો