C#线程启动、暂停、恢复、停止怎么实现

//循环

Thread    thread=new Thread(() => {
string vv = "";
while (true)
{

if (on_off)
{
getWeightEvent = new ManualResetEvent(false);
getWeightEvent.WaitOne();
}

//多线程非UI报错处理

Form.Dispatcher.BeginInvoke(() =>
{
vv = tfw.GetWeight("");
});

Thread.Sleep(1000);

}
});
thread.IsBackground = true;
thread.Start();
on_off = true;

 

if (Form.UseScale.IsChecked && (thread.ThreadState & ThreadState.AbortRequested) == 0)//开始
{
on_off = false;
getWeightEvent.Set();
}

else if (thread.ThreadState != ThreadState.Running)//暂停
{
on_off = true;
}

posted @   乌柒柒  阅读(2162)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
历史上的今天:
2018-01-19 asp get与post获取的区别
点击右上角即可分享
微信分享提示