问题遇到的现象和发生背景
C#线程如果在某个函数中创建,怎么在别的函数中控制?
问题相关代码,请勿粘贴截图
public static void MachineOp(int nSystemFlag)//开启线程
{
ThreadStart weituo = new ThreadStart(threadMachineOp);//创建ThreadStart的委托实例
Thread threadMachineStatus = new Thread(weituo); //创建Thread类的实例
threadMachineStatus.IsBackground = true;//后台
threadMachineStatus.Start();//开启线程
}
public static void threadMachineOp()//委托线程执行的函数
{
while (true)
{
ResetProgram1();
Thread.Sleep(100);
if (CProgram.nResetProgram1Step == nReset_Finish)//当标志位相同结束线程
{
threadMachineStatus.Abort();
threadMachineStatus.Join();
}
}
}
运行结果及报错内容
if语句中 threadMachineStatus.Abort();
threadMachineStatus.Join();
这两句显示当前上下文不存在
我的解答思路和尝试过的方法
如果线程不在函数中创建,线程提示错误