声明一个线程。
Thread test= new Thread();
声明一个带方法线程。
Thread test = new Thread(new ThreadStart(fangfa));
static void fangfa()
{
//代码
}
调用线程与销毁
test.Start();
test.Abort();
与秒表搭配使用
private void timer1_Tick(object sender, EventArgs e)
{
test.Start();
}
这样会在每一次执行时候都执行这个线程,但是可能会让程序甚至系统卡顿甚至崩溃。比如秒表默认频率是100毫秒,如果一秒调用10次一个复杂程序将是灾难的,我现在还不了解多线程与异步编程,猜测这样会产生众多逻辑分支,也可能只有一个线程一只运行,如果他足够简单。
最近我经常需要让程序等待而使用了两段代码。
Thread.Sleep(1000);
上面这段会让界面卡住,从而未达到效果,比如你需要在等待登录后执行一段代码从而直接使用了上述代码,但是效果是UI会卡在执行的那一刻,让你的代码大概率发生错误。
如下这段也是同样的效果,并且几乎会让程序崩溃。
private void timer1_Tick(object sender, EventArgs e)
{
Thread.Sleep(1000);
//你的代码
}
这样便可以使用了,
你的代码
test.Start();
你的代码
Thread test = new Thread(new ThreadStart(fangfa));
static void fangfa()
{
Thread.Sleep(1000);
}
以及
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Stop();
Thread.Sleep(1000);
timer1.Start();
}