public class xx
{
Thread myThread = null;
DataTable dt = null; public xx()
{
timer1.Enable = true;
dt = DbHelperSQL.Query(""); //此处已经为dt正常赋值,并且可用.
} private void timer1_Tick(object sender, EventArgs e)
{
myThread = new Thread(new ThreadStart(ReadRecord));
myThread.Start();
} private void ReadRecord()
{
此方法中要用从Dt中检过数据.
}
}
上面的方法中,我如果将ReadRecord()中的事件内容直接写到timer1_Tick(object sender, EventArgs e)事件中(不用线程的话),程序能正常读出我要的数据,只不过我每200毫秒读一次,主程序就显得特别慢,连关闭都好长时间,于是在timer1_Tick(object sender, EventArgs e)事件中又加了一个线程,但线程的定义是在类中,这样执行的结果都不是正确的(不正常),我这样做合理吗?有什么好的意见.谢谢希望大家说说自已的看法,Timer不停的要读事件,并且主程序还可以正常执行,看大家有什么办法?比较着急,上午郁闷了一上午.哪位解决,分全是他的.
{
Thread myThread = null;
DataTable dt = null; public xx()
{
timer1.Enable = true;
dt = DbHelperSQL.Query(""); //此处已经为dt正常赋值,并且可用.
} private void timer1_Tick(object sender, EventArgs e)
{
myThread = new Thread(new ThreadStart(ReadRecord));
myThread.Start();
} private void ReadRecord()
{
此方法中要用从Dt中检过数据.
}
}
上面的方法中,我如果将ReadRecord()中的事件内容直接写到timer1_Tick(object sender, EventArgs e)事件中(不用线程的话),程序能正常读出我要的数据,只不过我每200毫秒读一次,主程序就显得特别慢,连关闭都好长时间,于是在timer1_Tick(object sender, EventArgs e)事件中又加了一个线程,但线程的定义是在类中,这样执行的结果都不是正确的(不正常),我这样做合理吗?有什么好的意见.谢谢希望大家说说自已的看法,Timer不停的要读事件,并且主程序还可以正常执行,看大家有什么办法?比较着急,上午郁闷了一上午.哪位解决,分全是他的.
System.Threading.Timer
系统启动后直接启动一个线程,在线程中直接用代码写一个Timer对象,并且用+=实现每隔Xx毫秒执行一次.(这样已经测试通过,效果还不错)而不是像我现在的是在timer1_Tick中实现线程,此方面有问题可以给我留言.