c# winform程序运行一段时间后假死 && 页签切换不流畅问题
所出现的问题:
程序挂着不动,一开始没问题(起码一个小时内没问题),挂了一晚上早上起来发现程序假死了,任务管理器并没有显示无响应确实是在运行着的,但是页面点不动,也无法关闭。
程序大致内容:
使用定时器(Timer.timer),定时去执行一个代理delegate,然后将一个backgroundworker的doWork事件交给这个代理,最后使用this.beginInvoke();启动。大致代码结构如下:
private delegate void Delegate_1();
//timer定时执行的事件
private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) {
Delegate_1 del = new Delegate_1(timer_do);
this.BeginInvoke(del);
}
private void timer_do() {
if (this.backgroundWorker.IsBusy) return;
this.backgroundWorker.RunWorkerAsync();
}
private void backgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) {
//会耗时的http请求
......
}
自己是java开发的,一个朋友拜托做个C#的小应用,我就想帮帮忙,C#完全是0基础自学,很多问题能搜查出来的也都能自己解决,但是一些比较深层的内容就需要各位大神帮忙指点一下了。拜托大家了。