Убить предыдущий поток перед запуском нового - C#
Формулировка задачи:
private void button3_Click(object sender, EventArgs e)
{
myThread= new Thread(delegate()
{
citate_function();
}); myThread.Start();
}Решение задачи: «Убить предыдущий поток перед запуском нового»
textual
Листинг программы
using System;
using System.ComponentModel;
using System.Threading;
namespace ConsoleApplication86
{
class Program
{
static void Main()
{
var bw = new BackgroundWorker(){WorkerSupportsCancellation = true};
bw.DoWork += (sender, e) =>
{
var worker = (BackgroundWorker) sender;
var random = new Random();
while (!worker.CancellationPending)
{
Console.WriteLine(random.Next());
Thread.Sleep(500);
}
Console.WriteLine("Finish");
};
for (;;)
{
Console.WriteLine("Нажмите любую клавишу чтобы начать");
Console.ReadKey();
bw.RunWorkerAsync();
Console.WriteLine("Нажмите любую клавишу чтобы закончить");
Console.ReadKey();
bw.CancelAsync();
}
}
}
}