Current Thread Properties : Thread Properties « Thread « C# / C Sharp






Current Thread Properties

 

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

class Program {
    static int interval;
    static void Main(string[] args) {
        interval = 100;

        ThreadPool.QueueUserWorkItem(new WaitCallback(StartMethod));
        Thread.Sleep(100);
        ThreadPool.QueueUserWorkItem(new WaitCallback(StartMethod));
        Console.ReadLine();

    }

    static void StartMethod(Object stateInfo) {
        DisplayNumbers("Thread " + DateTime.Now.Millisecond.ToString());
        Console.WriteLine("Thread Finished");
    }

    static void DisplayNumbers(string GivenThreadName) {
        Console.WriteLine("Starting thread: " + GivenThreadName);

        for (int i = 1; i <= 8 * interval; i++) {
            if (i % interval == 0) {
                Console.WriteLine("Count has reached " + i);
                Console.WriteLine("CurrentCulture: " + Thread.CurrentThread.CurrentCulture.ToString());
                Console.WriteLine("IsThreadPoolThread: " + Thread.CurrentThread.IsThreadPoolThread.ToString());
                Console.WriteLine("ManagedThreadId: " + Thread.CurrentThread.ManagedThreadId.ToString());
                Console.WriteLine("Priority: " + Thread.CurrentThread.Priority.ToString());
                Console.WriteLine("ThreadState: " + Thread.CurrentThread.ThreadState.ToString());
                Thread.Sleep(1000);
            }
        }
    }
}

 








Related examples in the same category

1.illustrates the use of thread prioritiesillustrates the use of thread priorities
2.illustrates the ThreadState propertyillustrates the ThreadState property
3.Use IsAlive to wait for threads to end
4.Demonstrate thread prioritiesDemonstrate thread priorities