重新学C#编程158-ThreadStart:创建线程

在 C# 语言中使用线程时首先需要创建线程,在使用 Thread 类的构造方法创建其实例时,需要用到 ThreadStart 委托或者 ParameterizedThreadStart 委托创建 Thread 类的实例。

ThreadStart 委托只能用于无返回值、无参数的方法,ParameterizedThreadStart 委托则可以用于带参数的方法。

本节主要介绍使用 ThreadStart 委托创建 Thread 类的实例。

使用 ThreadStart 创建线程首先需要创建 ThreadStart 委托的实例,然后再创建 Thread 类的实例。

具体的代码如下。

ThreadStart ts = new ThreadStart( 方法名 );
Thread t = new Thread(ts);

 

先回忆一下委托的一些概念:

重新学C#编程108-委托和事件基本概念 - 来自金沙江的小鱼 - 博客园 (cnblogs.com)

由于ThreadStart 是系统自带的预先定义好的没有参数,没有返回值的委托,所以程序中就不需要写

//public delegate void ThreadStart()

做一个练习,点击按钮,显示1-10的偶数。

新建一个项目,窗体上放一个按钮。

在最前面添加下面的代码

using System.Threading;

窗体代码添加下面的方法

public static void showEven()
{
  string msg = "";
  for(int i=2;i<=10;i+=2)
  {
    msg += i+" ";
  }
  MessageBox.Show(msg);
}

按钮的鼠标点击事件添加下面的代码

private void button1_Click(object sender, EventArgs e)
{
  ThreadStart threadStart = new ThreadStart(showEven);//创建ThreadStart委托的实例
  Thread thread = new Thread(threadStart);//创建Thread类的实例
  thread.Start();
}

 

posted @ 2021-07-04 20:45  来自金沙江的小鱼  阅读(250)  评论(0编辑  收藏  举报