C# 线程 委托

Gavin_Y Gavin_Y 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区


Thread GetStatus_Thread = new Thread(new ThreadStart(Del_GetStatus));
GetStatus_Thread.IsBackground = true;
GetStatus_Thread.Start();

delegate void delegat_GetStatus();

public void Del_GetStatus()
{
delegat_GetStatus read_B = new delegat_GetStatus(GetStatus);
IAsyncResult result = read_B.BeginInvoke(new AsyncCallback(ACTest), null);

while (!result.IsCompleted)
{
Thread.Sleep(1000);
}
if (result.IsCompleted)
{
Thread.Sleep(1000);
Del_GetStatus();
}
}

public void ACTest(IAsyncResult result)
{
AsyncResult asyncRet=(AsyncResult) result;
delegat_GetStatus dt = (delegat_GetStatus)asyncRet.AsyncDelegate;
dt.EndInvoke(result);
}

public void GetStatus()
{
if (eLogic.Is_Write == false)
{
listStatus.Items.Clear();
Dictionary<string, string> dic = eLogic.eDriver.getDeviceStatus();
foreach (KeyValuePair<string, string> kvp in dic)
{
listStatus.Items.Add(kvp.Key + ":" + kvp.Value);
}
}
if (is_PK == true)
{
if (read_list_Index < eLogic.readInfo_List.Count)
{
for (int i = read_list_Index; i < eLogic.readInfo_List.Count; i++)
{
listReadInfo.Items.Add(eLogic.readInfo_List[i].ToString());
read_list_Index++;
}
}
}
}


各位大侠,现在我用线程调用委托方法时,长时间运行,会出现下图的错误信息。各位帮忙看看是什么问题,谢谢?
...全文

相关推荐

C# winform 防止界面卡住 线程 委托

因此,当我们需要进行耗时操作时,可以在后台线程上执行,这样就不会阻塞主线程,保证界面的流畅性。接着,我们来看委托。委托在C#中是一种类型,它可以引用方法,类似于函数指针。

yinyongxian

C#中实现多线程委托的具体指南

本文还有配套的精品资源,点击获取 简介:在C#编程中,多线程和委托是提高应用程序性能和响应性的关键概念。本文将介绍如何在Windows Forms应用中利用这些概念,以按钮点击事件为例,通过主线程和新建线程分别向listview控件添加数据。内容涵盖线程创建与管理、委托的使用、事件和异步操作,以及如何安全地从多线程中更新UI控件。 1. 多线程概念与C#实现 ...

张哲华

C# 通过委托和线程实现chart控件的实时更新

C# 通过委托和线程实现 Chart 控件的实时更新在 C# 编程中,实现 Chart 控件的实时更新是一个常见的需求。为此,我们可以使用委托(Delegate)和线程(Thread)来实现这个功能。

zhangcaixia1986526

c#多线程利用委托更新控件内容

C# 多线程利用委托更新控件内容在 C# 编程中,多线程编程是常见的场景之一,特别是在需要实时更新控件内容的情况下。

zhangcaixia1986526

C#用委托BeginInvoke做异步线程

C#用委托BeginInvoke做异步线程在C#中,异步线程是一个非常重要的概念,通过使用委托的BeginInvoke方法,可以实现异步线程的执行。

weixin_38670297
评论 10
收藏 已收藏
分享
返回顶部
Gavin_Y
C# 111,128 成员 642,536 内容