Threading Demo

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

namespace ThreadingDemo
{
    class Program
    {
        static public void HelloThreading()
        {
            Console.WriteLine("This is child thread started..");
            Thread.Sleep(5000);
        }
        static void Main(string[] args)
        {
            Console.WriteLine("This is main thread");
            ThreadStart th = new ThreadStart(HelloThreading);
            Thread childThread = new Thread(th);
            childThread.Start();
            Console.WriteLine("This is end of main thread");
            for (int i = 0; i < 10; i++)
            {
                Thread.Sleep(500);
                Console.WriteLine("Waiting for child thread to complete{0}..",i);
            }
            if(childThread.IsAlive)
            {
                try
                {
                    childThread.Abort();
                }
                catch (Exception)
                {
                    throw;
                }
                finally
                {
                    Console.WriteLine("Child thread aborted...");
                }
            }
            else
            {
                Console.WriteLine("Child thread completed...");
            }
            Console.ReadLine();
        }
    }
}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.