【源码】c#如何使用多线程

2025-09-29 17:31:23

1、1.  打开vs或者其他IDE, 创建控制台项目如下

【源码】c#如何使用多线程

【源码】c#如何使用多线程

2、2. 无参数的多线程。在Program.cs文件里面写入如下代码

class Program

{

static void Main(string[] args)

{

int num = 2;

for ( int i =0; i < num; i++)

{

noParmaThread();

}

}

private static void StartThread()

{

Console.WriteLine("---------开始了新线程---------");

Thread.Sleep(2000);//wait

Console.WriteLine("---------线程结束---------");

}

//不需要传递参数

private static void noParmaThread()

{

ThreadStart threadStart = new ThreadStart(StartThread);

var thread = new Thread(threadStart);

thread.Start();//开始线程

}

}

【源码】c#如何使用多线程

3、3 步骤2的运行结果,如下图

【源码】c#如何使用多线程

4、4. 含参数多线程。

static void Main(string[] args)

{

int num = 3;

for ( int i =0; i < num; i++)

{

oneParamThread("第" + i.ToString() +"个");

}

}

private static void oneParamThread( string param)

{

var thread = new Thread(new ParameterizedThreadStart(StartThread));

thread.SetApartmentState(ApartmentState.STA);

thread.IsBackground = true;

thread.Start(param);

thread.Join();

}

private static void StartThread(Object obj)

{

string s = obj as string;

Console.WriteLine("---------开始了 "+s +" 新线程---------");

Thread.Sleep(2000);//wait

Console.WriteLine("---------线程 "+s+" 结束---------");

}

【源码】c#如何使用多线程

5、5. 步骤4的运行结果如下图所示

【源码】c#如何使用多线程

6、6. 使用专门的线程类。代码如下

class Program

   {

       static void Main(string[] args)

       {

           int num = 3;

           for ( int i =0; i < num; i++)

           {

               MyThreadClass mt = new MyThreadClass(i);

               ThreadStart threadStart = new ThreadStart(mt.StartThread);

               Thread thread = new Thread(threadStart);

               thread.Start();

               //等待线程结束

           }

       }

   }

   public class MyThreadClass

   {

       public string output { set; get; }

       public int parame { set; get; }

       public MyThreadClass(int p)

       {

           this.parame = p;

       }

       public void StartThread()

       {

           Console.WriteLine("---------开始了 " + parame.ToString() + " 新线程---------");

           Thread.Sleep(2000);//wait

           output = "线程 "+ parame+" 结束了";

           Console.WriteLine("---------线程 " + parame.ToString() + " 结束---------");

       }

   }

【源码】c#如何使用多线程

7、7. 步骤6的结果如下图

【源码】c#如何使用多线程

8、如果您觉得有用,记得在下方点击投票、点赞、关注、留言,小编会定期奉上更多的惊喜哦,您的支持才是小编继续努力的动力,么么哒。

【源码】c#如何使用多线程

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢