WEB开发网
开发学院软件开发C语言 C#多线程编程(1):线程的启动 阅读

C#多线程编程(1):线程的启动

 2010-09-30 22:34:46 来源:WEB开发网   
核心提示: 在这个方法里,我们在启动线程时顺便指定了线程的暂停间隔,C#多线程编程(1):线程的启动(3),也就是这句:parameterThread.Start(30);线程启动时运行的方法是public void ParameterRun(object ms),这个值为30的int类型变量被装箱成obj

在这个方法里,我们在启动线程时顺便指定了线程的暂停间隔,也就是这句:

parameterThread.Start(30);

线程启动时运行的方法是public void ParameterRun(object ms),这个值为30的int类型变量被装箱成object,所以在方法中还需要将它转换成int类型,这个可以通过拆箱或者其它办法解决。

假如我们要启动两个线程,每个线程的暂停间隔不一样,启动代码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
    
namespace StartThread
{
         class Program
         {
                 int interval = 200;
                 static void Main(string[] args)
                 {
                         Program p = new Program();
    
                         Thread parameterThread = new Thread(new ParameterizedThreadStart(p.ParameterRun));
                         parameterThread.Name = "Thread A:";
                         parameterThread.Start(30);
                         //启动第二个线程
                         parameterThread = new Thread(new ParameterizedThreadStart(p.ParameterRun));
                         parameterThread.Name = "Thread B:";
                         parameterThread.Start(60);
                 }
        
                 /// <summary>
                 /// 带参数的启动方法
                 /// </summary>
                 /// <param name="ms">让线程在运行过程中的休眠间隔</param>
                 public void ParameterRun(object ms)
                 {
                         int j = 10;
                         int.TryParse(ms.ToString(), out j);//这里采用了TryParse方法,避免不能转换时出现异常
                         for (int i = 0; i < 10; i++)
                         {
                                 Console.WriteLine(Thread.CurrentThread.Name+"系统当前时间毫秒值:" + DateTime.Now.Millisecond.ToString());
                                 Thread.Sleep(j);//让线程暂停
                         }
                 }
         }
}

上一页  1 2 3 4 5  下一页

Tags:线程 编程 线程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接