//开启刷新线程
private void BeginRefresh()
{
//开启一个线程
isThread1Runing = true;
Thread thread = new Thread(new ThreadStart(ThreadRefreshRankingType));
thread.Start();
}
//1,后台线程主代码
private void ThreadRefreshRankingType()
{
string uuid = thread1UUid;
while (isThread1Runing)
{
Thread.Sleep(refreshTime);
if (!isThread1Runing)
{
return;
}
if (uuid != thread1UUid) return;
//如果是在窗体的构造函数里面就开启线程,这里必须判断窗口句柄是否创建
//否则会回调失败,出现: "在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke" 的错误
if (IsHandleCreated)
{
BeginInvoke(new Del_RefreshRankingType(RefreshRankingType));
indexRankingType++;
}
}
}
//2,代理
public delegate void Del_RefreshRankingType();
//3,代理的实现
public void RefreshRankingType()
{
//这里是回调方法,在UI线程中执行的动作
//......
}
分享到:
相关推荐
本文档分析了C#的线程常规用法,对使用线程的各种情形作了分析,并附有完整测试代码,可以直接编译运行。
线程使用实例 c# 线程使用实例 c# 线程使用实例 c#线程使用实例 c#
c#初学的课堂作业线程的使用,大炮打飞机,简单的实现线程的使用。
C#线程详解 详细描述C#线程的用法 原文地址www.albahari.com/threading/
三个C#线程的例子三个C#线程的例子三个C#线程的例子三个C#线程的例子
c#线程参考手册 c#线程参考手册 c#线程参考手册
C# 线程的使用 讲解了C#中使用线程的很多方法 C# 线程的使用 讲解了C#中使用线程的很多方法
C#线程参考手册 多线程 高级编程处理
C#线程同步的几种方法 C#线程同步的几种方法
采用的是C#的Winform开发,提供了两种线程交互的方式。 第一:在主线程中开启两个子线程,子线程用事件方式来进行通信。对于主线程的控件操作采用的是delegate委托的方式,避免主线程假死。 第二:采用的是...
C#线程及访问杂记 C#线程及访问杂记 C#线程及访问杂记
通过委托,在子线程更新主线程UI界面
C#线程参考手册 pdf 照书上打的代码。部分可用 C#线程参考手册 pdf 照书上打的代码。部分可用 C#线程参考手册 pdf 照书上打的代码。部分可用
c# 多线程任务中结束全部线程
C#线程参考手册 学习线程的好帮手...
C#多线程实现定时器
本书是一本通俗易懂的C#多线程编程指南,通过70多个容易理解的示例,循序渐进地讲解C#5.0中的异步及并发编程,引导读者了解Windows下C#多线程编程的多样性。 通过阅读本书,你将学到: 使用原始线程、异步线程,...
串口通信的实现,编程环境为C#,实现技术采用了多线程方式
C# 多线程技术,详解如何在C#中使用多线程技术。