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);
}
}
```
मैं इस मेथड को कॉल करता हूँ