用Thread替代Timer——简单的多线程处理(一)

工作需要一个动态的窗口,有自动倒计时、后台发送数据、后台打印等功能。

第一版Demo采用了Timer作为后台处理机制核心,代码量少,可读性高。但是实际效果差强人意,特别是多timer阻塞的情况很严重。

总结了一下实际需求和后台事件,决定用Thread代替原有的Timer。


顺便一提,C#的Thread加上语法糖真是甜,原来需要写一大段的代码现在只要一行:

Thread t = new Thread(() => void(parameter));
t.IsBackground = true;//设置线程为后台线程,不阻塞主线程。
t.Start();
如果以前写个有参数的线程……我都快忘记该怎么写了。

http://www.cnblogs.com/zyh-nhy/archive/2009/01/07/1371249.html

这个网址有写法总结,需要的各位可以去这里看看。


多线程中,操作界面为安全考虑需要用到委托,在这里再次赞一下现在的语法糖:

control.BeginInvoke(new Action(() =>
{
control.Text="text";
}));
我已经不想找以前怎么声明一套委托了。需要的各位请自己百度吧。


当年用2005+2.0写代码的日子浮现眼前,那会儿用委托写个多线程感觉好繁琐。

基本需求确认,需要的基本技术确认。

下一篇开始,将会从最简的方法开始写一篇基本WinForm+多线程的动态窗口。

如果你是初学者,建议你下载vs2015,可以和我一起开始从项目创建开始学习简单的多线程操作。


本文计划写完后你可以得到一个具有简单线程管理功能的WinForm程序,你可以学到简单的线程管理和多线程任务处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值