Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में वर्तमान थ्रेड की प्राथमिकता प्रदर्शित करना

C# में प्रत्येक थ्रेड की एक प्राथमिकता (Priority) होती है जो OS शेड्यूलर को बताती है कि इसे कितना CPU समय देना है। Thread.Priority प्रॉपर्टी इसे पढ़ने/सेट करने के लिए उपयोग होती है।

थ्रेड प्राथमिकता स्तर

प्राथमिकता विवरण
ThreadPriority.Highest सबसे अधिक CPU समय
ThreadPriority.AboveNormal सामान्य से अधिक
ThreadPriority.Normal डिफॉल्ट (मानक)
ThreadPriority.BelowNormal सामान्य से कम
ThreadPriority.Lowest सबसे कम CPU समय

उदाहरण: वर्तमान थ्रेड की प्राथमिकता देखना

using System;
using System.Threading;

namespace Demo {
    class MyClass {
        static void Main(string[] args) {
            Thread thread = Thread.CurrentThread;
            thread.Name = "My Thread";

            Console.WriteLine("Thread Priority = {0}", thread.Priority);
            Console.ReadKey();
        }
    }
}

आउटपुट

Thread Priority = Normal

प्राथमिकता बदलना

Thread thread = Thread.CurrentThread;
thread.Priority = ThreadPriority.Highest;
Console.WriteLine("New Priority: " + thread.Priority);

महत्वपूर्ण विचार

  • प्राथमिकता केवल संकेत (hint) है OS शेड्यूलर के लिए, गारंटी नहीं।
  • उच्च प्राथमिकता वाले थ्रेड्स निम्न प्राथमिकता वालों को स्टार्व कर सकते हैं (थ्रेड स्टार्वेशन)।
  • UI थ्रेड की प्राथमिकता आमतौर पर Normal या AboveNormal होनी चाहिए।
  • बैकग्राउंड कार्य के लिए BelowNormal या Lowest उपयुक्त है।

आधुनिक विकल्प: Task Priority

Task और TaskScheduler के साथ प्राथमिकता प्रबंधन अलग तरीके से काम करता है:

// Task.Run के लिए कोई सीधा प्राथमिकता नहीं
// कस्टम TaskScheduler या ThreadPool.SetMinThreads उपयोग करें
  1. - जावा प्रोग्राम से फिबोनाची श्रृंखला प्रदर्शित करना

    इस लेख में हम समझेंगे कि संख्या N तक फिबोनाची श्रृंखला का सम योग कैसे निकाला जाता है। फिबोनाची श्रृंखला संख्याओं का एक क्रम है जो अपने पिछले दो पूर्णांकों के योग से बनती है। एक सम फिबोनाची श्रृंखला फिबोनाची श्रृंखला की सभी सम संख्याएं होती हैं। फिबोनाची श्रृंखला पिछले दो संख्याओं को जोड़कर अगली संख

  1. - मल्टीथ्रेडिंग में Java थ्रेड प्राथमिकता

    परिचयमल्टी-थ्रेडिंग की स्थिति में, एक थ्रेड शेड्यूलर थ्रेड्स को उनकी प्राथमिकता के आधार पर विशिष्ट प्रक्रियाओं को असाइन करता है। एक Java थ्रेड एक पूर्व-असाइन प्राथमिकता के साथ आता है। इसके अलावा, Java वर्चुअल मशीन थ्रेड्स को प्राथमिकता भी दे सकती है या प्रोग्रामर्स द्वारा स्पष्ट रूप से दी जा सकती है

  1. - Java में थ्रेड प्रायोरिटी का महत्व?

    मल्टी-थ्रेडेड एप्लिकेशन में, प्रत्येक थ्रेड को एक प्रायोरिटी असाइन की जाती है। प्रोसेसर को थ्रेड शेड्यूलर द्वारा थ्रेड की प्रायोरिटी के आधार पर असाइन किया जाता है यानी सबसे अधिक प्रायोरिटी वाले थ्रेड को प्रोसेसर पहले असाइन किया जाता है और इसी तरह। थ्रेड की डिफ़ॉल्ट प्रायोरिटी मान 5 के साथ होती है। ह