using System;
using System.Threading;
class ThreadSleeper
{
int seconds;
private ThreadSleeper(int seconds)
{
this.seconds = seconds;
}
public void Nap()
{
Console.WriteLine("Napping {0} seconds", seconds);
Thread.Sleep(seconds * 1000);
}
public static Thread DoSleep(int seconds)
{
ThreadSleeper ts = new ThreadSleeper(seconds);
Thread thread = new Thread(new ThreadStart(ts.Nap));
thread.Start();
return(thread);
}
}
public class OperationsThreadsJoining
{
public static void Main()
{
Thread thread = ThreadSleeper.DoSleep(5);
Console.WriteLine("Waiting for thread to join");
thread.Join();
Console.WriteLine("Thread Joined");
}
}
|