Я хочу, когда я нажму кнопку thread.Abort() и завершу печать печати после того, как он прервется. Он только прерывает поток при завершении текущего задания. БлагодаряКак прервать поток, когда текущее задание в потоке завершено C#
namespace ThreadTest
{
public partial class Form1 : Form
{
Thread thread;
bool loop = true;
Stopwatch regularSW = new Stopwatch();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
thread = new Thread(new ThreadStart(() => threadtest()));
thread.Start();
}
private void button2_Click(object sender, EventArgs e)
{
thread.Abort();
}
public void threadtest()
{
while (loop)
{
regularSW.Start();
Thread.Sleep(5000);
regularSW.Stop();
this.Invoke(new Action(() => label1.Text += "Sleep in: " + regularSW.Elapsed + Environment.NewLine));
}
}
}
}
Этого ответ требует от вас ждать потока просыпаться, прежде чем аннулирование фактически продолжается; обычно не желаемое поведение. –