日期:2014-05-19  浏览次数:20924 次

timer里当函数执行时间很长时怎么解决?
我要不停地读数据库,当数据库有内容时会调用一个SubmitMessageEx()的函数,可这个函数的执行时间会很长而且不定,远远地超过了timer.Interval属性.
这时没等SubmitMessageEx执行完毕,timer又来执行这个过程了.

结果导至程序混乱.timer停止工作.

请问有什么好办法解决.谢谢!
在线等

------解决方案--------------------
使用timer要注意重入的问题,如果重入经常发生,要使用标志量做判断
ref:http://blog.joycode.com/yaodong/articles/25845.aspx
------解决方案--------------------
ClassA a = new ClassA(int a,int b,int c,int d)//你的四个参数
Thread thread = new Thread(new ThreadStart(a.Process));
public class ClassA
{
public ClassA(int a ,int b, int c,int d)//构造函数,将a,b,c,d传近来用就可以了
{
}
public void Process()
{
SubmitMessageEx()
}
}