Avatar ·

ThreadLocal का उपयोग कब और कैसे करें Java में थ्रेड-सुरक्षित कार्य के लिए?

सभी को नमस्ते! मैं लगभग एक साल के अनुभव वाला Java डेवलपर हूँ, और अब मल्टीथ्रेडिंग समझ रहा हूँ। मुझे एक समस्या का सामना करना पड़ा: मेरे पास Spring Boot पर एक वेब सर्वर है जो विभिन्न थ्रेड्स में अनुरोधों को प्रोसेस करता है। प्रत्येक अनुरोध के लिए, मैं तिथियों को फॉर्मेट करने के लिए एक `SimpleDateFormat` ऑब्जेक्ट बनाता हूँ। मुझे पता है कि `SimpleDateFormat` थ्रेड-सुरक्षित नहीं है, इसलिए मैं प्रत्येक मेथड के अंदर एक नया इंस्टेंस बनाता हूँ। लेकिन यह अक्षम लगता है — हर बार एक ऑब्जेक्ट बनाना और फिर उसे भूल जाना। मैंने `ThreadLocal` के बारे में सुना है, लेकिन मुझे समझ नहीं आता कि इसका उपयोग कब करना चाहिए। उदाहरण के लिए, मेरे पास यह कोड है: ```java public class DateService { public String formatDate(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(date); } } ``` मैं इस मेथड को कॉल करता हूँ