Simple example of aborting a thread after a specified amount of time has elapsed.
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
class Program
{
static void Main(string[] args)
{
int timeOutSeconds = 2; // timeout work after 2-seconds.
Thread thread = new Thread( () => {
Console.WriteLine("Doing Threaded Work...");
Thread.Sleep(TimeSpan.FromSeconds(3)); // make work take 3 seconds...
});
thread.Start();
if (!thread.Join(TimeSpan.FromSeconds(timeOutSeconds)))
{
thread.Abort();
Console.WriteLine("Timeout Exceeded (after {0}-seconds)... Doing Threaded Work.",
timeOutSeconds);
}
}
}