黑马程序员—多线程的实现过程

本文通过一个具体的示例介绍了如何在C#中实现多线程编程。具体步骤包括编写线程执行的方法、引用命名空间、实例化线程并传递方法、启动线程等。此外还解释了多线程在解决长时间运行任务时的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ASP.Net+Android+IO开发S、.Net培训、期待与您交流!

  看了黑马的教学视频,才真正了解了多线程的实现过程。

  谈到多线程,我们常与之对应的就是单线程。要实现多线程,首先就要给多线程写一个任务(就是一个方法),当我们启动多线程时,就会调用传递过来的委托,委托就会执行相应的方法。

  一般情况下,我们实现多线程的步骤如下:

1.编写多线程要执行的方法;

2.引用命名空间System.Threading;

3.实例化一个多线程,并传入所要执行的方法;

4.调用线程里的start方法启动线程。

其实创建线程,用start启动后,就是标记该线程可以被CPU执行。常常看见在窗体中运行一个很长的循环,窗体就不能移动,这是因为单线程时,窗体的自己的线程执行任务去了,当你想拖动窗体时,就没人来执行你这个窗体的任务了。使用多线程后,就是直接标记可被CPU执行,就相当于我从外面找人来完成这个循环的任务。

下面举一个例子:

 private void button1_Click(object sender, EventArgs e)        

{            

Thread td1 = new Thread(Count);            

td1.Name = "线程一";            

td1.IsBackground = true;            

td1.Start();

           

Thread td2 = new Thread(Count);            

td2.Name = "线程二";            

td2.IsBackground = true;            

td2.Start();         }        

protected void Count()        

{             int a = 0;            

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

{                

       a = Convert.ToInt32(label1.Text);                

       a++;               

      label1.Text = a.ToString();               

      Console.WriteLine("a={0} {1}",a.ToString(),Thread.CurrentThread.Name);          

          }  

       }

        private void Form1_Load(object sender, EventArgs e)      

   {            

              label1.Text ="0";       

  }

ASP.Net+Android+IOS开发、.Net培训、期待与您交流! 详细请查看:http://edu.youkuaiyun.com

转载于:https://www.cnblogs.com/dinghaiping/p/3279071.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值