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

C# में थ्रेड की वर्तमान स्थिति कैसे जांचें?


C# में किसी थ्रेड की वर्तमान स्थिति जांचने के लिए, हम ThreadState प्रॉपर्टी का उपयोग करते हैं। यह प्रॉपर्टी ThreadState एन्यूमरेशन का मान लौटाती है जो थ्रेड की स्थिति दर्शाता है (जैसे Unstarted, Running, WaitSleepJoin, Stopped, आदि)। Thread क्लास System.Threading नेमस्पेस में स्थित है।

उदाहरण 1: अनारंभित थ्रेड और थ्रेड पूल की स्थिति

using System;
using System.Threading;

public class Demo
{
    public static void Main()
    {
        Thread thread = new Thread(new ThreadStart(Demo1));
        ThreadPool.QueueUserWorkItem(new WaitCallback(Demo2));

        Console.WriteLine("थ्रेड की वर्तमान स्थिति = " + thread.ThreadState);
        Console.WriteLine("ManagedThreadId = " + thread.ManagedThreadId);
    }

    public static void Demo1()
    {
        Thread.Sleep(2000);
    }

    public static void Demo2(object stateInfo)
    {
        Console.WriteLine("क्या थ्रेड मैनेज्ड थ्रेड पूल से संबंधित है? = " + Thread.CurrentThread.IsThreadPoolThread);
    }
}

आउटपुट

थ्रेड की वर्तमान स्थिति = Unstarted
ManagedThreadId = 3

उदाहरण 2: थ्रेड प्रारंभ करने से पहले और बाद की स्थिति

using System;
using System.Threading;

public class Demo
{
    public static void Main()
    {
        Thread thread = new Thread(new ThreadStart(Demo));
        Console.WriteLine("ManagedThreadId = " + thread.ManagedThreadId);
        Console.WriteLine("थ्रेड की वर्तमान स्थिति = " + thread.ThreadState);

        thread.Start();
        Console.WriteLine("थ्रेड की वर्तमान स्थिति = " + thread.ThreadState);
    }

    public static void Demo()
    {
        Console.WriteLine("क्या थ्रेड मैनेज्ड थ्रेड पूल से संबंधित है? = " + Thread.CurrentThread.IsThreadPoolThread);
    }
}

आउटपुट

ManagedThreadId = 3
थ्रेड की वर्तमान स्थिति = Unstarted
क्या थ्रेड मैनेज्ड थ्रेड पूल से संबंधित है? = False
थ्रेड की वर्तमान स्थिति = Running

मुख्य बिंदु:

  • ThreadState एक फ्लैग एन्यूमरेशन है - एकाधिक मान संयुक्त हो सकते हैं (बिटवाइज़ OR)
  • सामान्य स्थितियाँ: Unstarted, Running, WaitSleepJoin, Suspended, Stopped
  • Start() कॉल करने से पहले स्थिति Unstarted होती है
  • Start() के बाद स्थिति Running हो जाती है
  • ManagedThreadId प्रत्येक थ्रेड के लिए अद्वितीय पहचानकर्ता होता है
  • IsThreadPoolThread दर्शाता है कि थ्रेड थ्रेड पूल से संबंधित है या नहीं
  1. Android में वर्तमान थ्रेड डेमॉन है या नहीं कैसे जांचें? Android में वर्तमान थ्रेड डेमॉन है या नहीं कैसे जांचें?

    Android में वर्तमान थ्रेड के डेमॉन स्थिति की जांच उदाहरण में जाने से पहले, हमें पता होना चाहिए कि थ्रेड क्या है। एक थ्रेड एक हल्का सब-प्रोसेस है, यह UI को बाधित किए बिना बैकग्राउंड ऑपरेशन करने जा रहा है। यह उदाहरण दर्शाता है कि Android में वर्तमान थ्रेड डेमॉन है या नहीं कैसे जांचें। चरण 1: नया प्रो

  1. Android में वर्तमान थ्रेड ID कैसे प्राप्त करें? Android में वर्तमान थ्रेड ID कैसे प्राप्त करें?

    Android में वर्तमान थ्रेड की ID प्राप्त करना उदाहरण में जाने से पहले, हमें पता होना चाहिए कि थ्रेड क्या है। एक थ्रेड एक हल्का सब-प्रोसेस है, यह UI को बाधित किए बिना बैकग्राउंड ऑपरेशन करने जा रहा है। यह उदाहरण दर्शाता है कि Android में वर्तमान थ्रेड ID कैसे प्राप्त करें। चरण 1: नया प्रोजेक्ट बनाएं A

  1. Android में वर्तमान में चल रहे ऐप्लिकेशन कैसे जांचें? Android में वर्तमान में चल रहे ऐप्लिकेशन कैसे जांचें?

    यह उदाहरण दर्शाता है कि Android डिवाइस पर वर्तमान में चल रहे टास्क/ऐप्लिकेशन की सूची कैसे प्राप्त की जाए। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट XML res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <LinearLayout xmlns:android=https: