Monitor moni = new Monitor();
Thread t = new Thread(() => moni.CurrUsage(nics,200));
t.Start();
Run Code Online (Sandbox Code Playgroud)
我在'Form1_Load'函数中启动一个名为't'的线程.我添加了一个按钮.单击该按钮时,线程't'应停止执行并使用这些参数创建新线程.
Monitor moni = new Monitor();
Thread t = new Thread(() => moni.CurrUsage(nics,950));
t.Start();
Run Code Online (Sandbox Code Playgroud)
我知道在form_load事件中我可以使用
t.Abort();
Run Code Online (Sandbox Code Playgroud)
通过创建t表单的成员,您可以稍后在按钮单击事件处理程序中引用它.
优雅的中止.
虽然t.Abort()完成了工作,但您可能会在线程中留下半处理数据t.您可以捕获ThreadAbortExceptionin线程t以优雅地结束处理.
注意重叠.
第二个问题是,当你的新线程已经启动时,你的线程可能还没有中止.您可以防止通过调用t.Join()调用之后t.Abort().
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
4039 次 |
| 最近记录: |