
正文
包含VB.net定时器卡死的词条
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
关于VB.net Timer控件与多线程问题
Timer 是在 主线程里执行的,Thread 是在自己的线程中执行的,多核心的CPU使用线程能提高处理能力。回到你的问题,主线程如果卡死,timer就会失去响应,很正常的。请使用System.Timers.Timer类吧。请参考一下:
相关问答
Q1: vb.net 多线程卡死界面,新手求前辈们帮助,感谢
“卡死”是一个非常主观的描述,如果你要让主线程杀掉卡死的线程,那么你必须给“卡死”做出准确的定义。
什么是卡死?30秒没有响应就是卡死?那么“没有响应”的定义又是什么?
你给出这些条件以后,杀掉一个线程就不难。Abort方法,Dispose方法,都可以。
Q2: VB的定时器Timer变慢了,怎么解决?
一个程序在同一时刻只能处理一个事件VB.net定时器卡死,比如时钟事件处理时间比时钟周期长的话VB.net定时器卡死,它不会事件还没处理完又被激活VB.net定时器卡死了VB.net定时器卡死,也就是在程序代码执行过程中不会接收新的事件。所以要把与时钟有关的处理事物放在一个独立的进程中VB.net定时器卡死,这个我也不懂,只知道建立一个对象库,对象库是一个独立的进程,程序启动后启动对像库时钟。就是Activex Dll工程。
Q3: VB 处理数据时防止卡死
这种情况应该尽量避免VB.net定时器卡死,比如将大工作量VB.net定时器卡死的内容拆分进行。
但肯定无法完全避免,那么给用户显示一个进度条就非常必要了。
如果可能,还应该配上当前进度的一些说明。比如类似: 已完成 53/70 等。
插入 DoEvents 也是可以考虑的,但必须做好必要的准备,否则会出问题。
比如说:用户在处理过程进行到一半的时候,又按了一次按钮,怎么办VB.net定时器卡死?
在处理过程中,你的定时器Timer触发了,导致数据变化,怎么办?
甚至,用户直接在过程中点了关闭按钮,怎么办?立刻退还是存完再退?等等。
Q4: vb.net 程序运行久了以后崩溃
1、可能进入了死循环,仔细检查代码有无这种情况。
2、无用的数据一直在累积而没有及时销毁,导致内存占用越来越大,最终崩溃。要注意对象随用随清,及时 Dispose 掉或调用 GC.Collect。
关于VB.net定时器卡死和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






