C# - 中止循环线程

C# - Abort a looping thread

我有线程通过使用 Thread.Sleep 在特定时间间隔循环显示数据。

public class myThread{


            public void threadPBAPI()
            {
                for (int i = 0; i < _PBAPI.Length; i++)
                {
                    try
                    {
                        Console.writeLine();
                        Thread.Sleep(_interval * 1000);
                    }
                    catch (NullReferenceException)
                    {

                    }
                }
            }
}

我想中止停止此操作 activity 因为当我按下一个按钮时,将加载一组新数据并希望从头开始执行相同的 activity。

我试过 Thread.Abort();在按钮单击事件上。 但它没有抛出 ThreadAbortException。

在做 Thread.Join();在 Thread.Abort() 之后;当线程正在执行它应该执行的操作时,它会抛出 ThreadStateException "Thread Has not been started"。

这对我有用:

设置全局布尔标志 -

isThreadAbort = false.

当它为真时,您可以使用

break;

i = _PBAPI.Length