(C#、Winform)
我有这样一个需求:一个线程,窗体上接收到某快捷键后Start,执行A方法(void Method(inta,int b))之后暂停一秒或数秒,紧接着再执行B方法(B方法与A方法结构一样)后暂停数秒,线程结束。
求简单的小例子,代码稍微注释下。
在下不胜受恩感激。
Thread类有几个至关重要的方法:
Start():启动线程;
Sleep(int):静态方法,暂停当前线程指定的毫秒数;
Abort():通常使用该方法来终止一个线程;
Suspend():该方法并不终止未完成的线程,它仅仅挂起线程,以后还可恢复;
Resume():恢复被Suspend()方法挂起的线程的执行。
线程暂停只要调用
System.Threading.Thread.Sleep 方法就可以了,很简单。
我是来鼓掌的,都是正解
带参数的有几种写法,你可以试一下别的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ThreadDemo
{
class Program
{
static void Main(string[] args)
{//实例化类,为线程提供参数
Demo d1=new Demo(1,4);
Demo d2=new Demo(11,15);
Thread th1 = new Thread(new ThreadStart(d1.start));
Thread th2 = new Thread(new ThreadStart(d2.start));
th1.Start();
Thread.Sleep(1000);
th2.Start();
}
}
class Demo
{
private int a;
private int b;
public Demo(int aa, int bb)
{
this.a = aa;
this.b = bb;
}
public void start()
{
for (int i = a; i < b; i++)
{
Console.WriteLine(i.ToString());
}
}
}
}
Thread.Sleep() 前面的这个Thread要是你建立的一个线程对象,如果用系统的Sleep()静态方法调用就是主线程休息了,界面当然会卡