首页 新闻 会员 周边 捐助

C# winform 多线程造成 主窗体卡死

0
悬赏园豆:30 [已关闭问题] 关闭于 2016-10-10 09:56

winform 上需要挂载一个 类死循环的程序,让它一直在运行。

MainForm 中通过Tab控件加载不同的子窗体。

 

MainForm中使用Task 对这个任务进行操作。

Task.Run(()=>{//执行操作});

 

操作在运行期间,MainForm 变的异常的卡顿,Tab切换的过程假死。

操作不运行期间,MainForm 正常。Tab切换流畅。

 

使用Task 已经为异步操作,为什么会造成MainForm的卡顿?

有啥方案能解决这个问题?

Sky.Grain的主页 Sky.Grain | 菜鸟二级 | 园豆:308
提问于:2016-10-09 21:45
< >
分享
所有回答(3)
0

其实不会出现你说的这种问题,除非你的TASK里面有频繁操作窗体的操作。

ensleep | 园豆:1682 (小虾三级) | 2016-10-09 22:04
0

应该看看你的代码,这样说是没用的

CodeHsu | 园豆:5668 (大侠五级) | 2016-10-09 22:34
0

已经找到原因,异步线程中使用了一个在MainForm 中声明的一个全局私有变量,不在使用后,恢复正常

Sky.Grain | 园豆:308 (菜鸟二级) | 2016-10-10 09:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册