//==============================================================
Canceling a Task
------------------------------
var cancellationTokenSource = new CancellationTokenSource();
var task = Task.Run(()=> NeverendingMethod(cancellationTokenSource), cancellationTokenSource.Token);
//-----
string userInput;
do{
userInput = Console.ReadLine()
}while(userInput != "cancel")
cancellationTokenSource .Cancel()
static void NeverEndingMethod(CancellationTokenSource cancellationTokenSource )
{
while(true)
{
if(cancellationTokenSource.IsCancellationRequested)
{ return; }
Thread.Sleep(1500)
}
}