多线程学习系列:(二)线程基本知识

首先来看看如何创建线程:

Console.WriteLine(Process.GetCurrentProcess().Threads.Count); 
Thread t1 = new Thread(() => 
  { 
    Thread.Sleep(1000); 
    Thread t = Thread.CurrentThread; 
    Console.WriteLine("Name: " + t.Name); 
    Console.WriteLine("ManagedThreadId: " + t.ManagedThreadId); 
    Console.WriteLine("State: " + t.ThreadState); 
    Console.WriteLine("Priority: " + t.Priority); 
    Console.WriteLine("IsBackground: " + t.IsBackground); 
    Console.WriteLine("IsThreadPoolThread: " + t.IsThreadPoolThread); 
  }) 
  { 
    Name = "Thread1", 
    Priority = ThreadPriority.Highest 
  }; 
t1.Start(); 
Console.WriteLine(Process.GetCurrentProcess().Threads.Count);

  我们在Thread的构造方法中传入一个Lambda表达式,对应ThreadStart委托(无参void返回值的方法)来构造一个线程任务。这段程序中有几个注意点:

  1)从输出结果中可以看到,当前程序启动后就3三个线程,新开线程后显示为4个线程,在线程方法中休眠了一秒,防止主线程执行完次线程就过早结束了。

  2)我们可以为线程设置一个名字,方便调试。我们也可以设置线程的优先级,这个在之后会有进一步介绍。

  3)第7行,托管线程的唯一标识符,微软建议使用托管线程的Id而不是操作系统中线程的Id来跟踪线程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值