मेरे पास एक स्थिर टाइमर क्लास है जिसे किसी भी वेबपृष्ठ द्वारा कॉल किया जाएगा ताकि गणना की जा सके कि प्रत्येक पृष्ठ को कितनी देर तक बनाया जाना है।स्थिर विधियां थ्रेड सुरक्षित हैं
मेरा प्रश्न है स्टेटिक क्लास थ्रेड सुरक्षित है? मेरे उदाहरण में समवर्ती उपयोगकर्ता मेरी शुरुआत और बंद समय के साथ एक समस्या का कारण बनेंगे? उदाहरण के लिए मेरी शुरुआत को ओवरराइट करने और मूल्यों को रोकने के लिए एक अलग धागे।
public static class Timer
{
private static DateTime _startTime;
private static DateTime _stopTime;
/// <summary>
/// Gets the amount of time taken in milliseconds
/// </summary>
/// <returns></returns>
public static decimal Duration()
{
TimeSpan duration = _stopTime - _startTime;
return duration.Milliseconds;
}
public static void Start()
{
_startTime = DateTime.Now;
}
public static void Stop()
{
_stopTime = DateTime.Now;
}
}
क्या यह कक्षा एक गैर-स्थैतिक वर्ग होनी चाहिए?
(इस वर्ग asp.net masterpage से बुलाया जाएगा।)
एमएसडीएन: "जबकि कक्षा के एक उदाहरण में कक्षा के सभी उदाहरण क्षेत्रों की एक अलग प्रति है, प्रत्येक स्थिर क्षेत्र की केवल एक प्रति है।" – colithium