WinForm中线程类的Timer使用

       最近在做一些小工具,要实现一个功能就是数据复制。界面如下:

复制数据工作界面

 

      由于每批次的数据量都比较大,在执行操作时如果界面没有任何提示,总感觉不是太友好,于是想加一个进度条,在进行复制的时候同步滚动。不然可能会造成假死的错觉。

      想实现的功能是:复制数据的同时,循环滚动进度条,复制结束,进度条也归零。首先想到的就是用多线程来做,一个线程专门负责循环滚动进度条,另一个线程负责复制数据,一旦复制完成,第二个线程会改变预先定义的一个私有的表示状态的属性,而第三个线程就用一个while死循环专门监控这个状态属性,一旦该属性变了,则立即终止第一个线程(控制进度条的那个),这样基本可以达到同步,但是后来想想,这样非常的耗费资源,第三个线程用的while循环感觉不是太好,所以最后考虑用System.Threading.Timer类来实现。该类实例化后会创建一个线程,并根据你的设置按固定的时间间隔执行委托的方法。个人觉得这样相对好一点。具体代码如下:

 

具体代码      

 

      我也是刚刚接触多线程,难免有较多错漏,如果有更好的方法,还请多多帮助。呵呵~~ :)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值