C#线程如果在某个函数中创建,怎么在别的函数中控制?

问题遇到的现象和发生背景

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();
这两句显示当前上下文不存在

我的解答思路和尝试过的方法

如果线程不在函数中创建,线程提示错误

我想要达到的结果

你线程定义成全局变量啊