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
我有线程通过使用 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