vs2002: c# multi threading question..
- by dotnet-practitioner
I would like to invoke heavy duty method dowork on a separate thread and kill it if its taking longer than 3 seconds. Is there any problem with the following code?
class Class1
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    /// 
    [STAThread]
    static void Main(string[] args)
    {
        Console.WriteLine("starting new thread");
        Thread t = new Thread(new ThreadStart(dowork));
        t.Start();
        DateTime start = DateTime.Now;
        TimeSpan span = DateTime.Now.Subtract(start);
        bool wait = true;
        while (wait == true)
        {
            if (span.Seconds>3)
            {
                t.Abort();
                wait = false;
            }
            span = DateTime.Now.Subtract(start);
        }
        Console.WriteLine("ending new thread after seconds = {0}", span.Seconds);
        Console.WriteLine("all done");
        Console.ReadLine();
    }
    static void dowork()
    {
        Console.WriteLine("doing heavy work inside hello");
        Thread.Sleep(7000);
        Console.WriteLine("*** finished**** doing heavy work inside hello");
    }
}