1、首先我们在Visual Studio中创建一个winform程序。
2、然后在winform的主界面中我们拖入一个按钮,如下图所示,接下来会点击这个按钮后创建线程。
3、接下来我们定义创建线程需要执行的方法,如下图所示,这里只是简单的做了个循环。
4、紧接着就需要定义按钮的点击事件,在点击事件中我们通过ThreadStart来接入线程执行的方法,然后通过Thread实例开启线程。
5、如果要终止线程的话,我们只需要通过Abort方法进行终止即可。
6、当然上面的终止线程的方法并不好,比较友好的做法是如下图所示的方式,这样不会抛出异常。
1、首先打开Visual Studio 2015编程工具,新建一个控制台程序,
2、然后在主函数文件中引入线程所需要的命名空间,这个命名空间里包含了线程操作的所有功能
3、接下来我们可以在主函数中通过调用Thread的CurrentThread属性来获得当前正在运行的线程
4、当然,在实际的应用中,让线程短暂的暂停是比较常见的,定义一个函数,通过调用Thread的Sleep方法来暂停线程。
5、然后在主函数中我们实例化线程,注意一定传入刚才定义的方法
6、然后通过调用线程实例的Start方法来启动线程,注意启动方法是空参数
7、最后我们运行程序,你会在输出窗口中看到如下图所示的输出,从输出中可以看到线程确实停了5秒
//假设有Thread t1=new Thread(Run),t2=new Thread(Run);
//1、可以通过t1.Abort();强行终止线程t1;
//2、可以通过设置某个标志的值,来使线程退出它的线程体方法的执行;
//下面有例子。
using System;
using System.Threading;
namespace Demo
{
class Program
{
public static void Main(string[] args)
{
Thread t1=new Thread(Run),t2=new Thread(Run);
t1.Name="t1";
t2.Name="t2";
t1.Start();
t2.Start();
Thread.Sleep(3000);
t1.Abort();
Console.WriteLine("线程t1被强行终止了。");
Thread.Sleep(3000);
Console.WriteLine("通过修改控制标志,终止了线程t2。");
IsExit=true;
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
private static void Run(object o)
{
while(!IsExit)
{
Console.WriteLine(Thread.CurrentThread.Name);
Thread.Sleep(500);
}
}
private static bool IsExit=false;
}
}