多线程学习系列:(二)线程基本知识
来源:互联网 发布:php团购代码逻辑 编辑:程序博客网 时间:2024/06/05 04:26
首先来看看如何创建线程:
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来跟踪线程。
- 多线程学习系列:(二)线程基本知识
- Java多线程设计(二)线程的基本知识(1)
- Java多线程设计(二)线程的基本知识(3)线程的协调
- 多线程学习系列二 线程同步-互斥量的使用
- 多线程系列二 线程创建
- Java多线程设计(二)线程的基本知识(2)共享互斥
- 浅谈.NET下的多线程和并行计算(二)线程基本知识
- C# 多线程学习(二)线程操作
- java多线程学习(二)---线程通信
- java学习系列2(多线程二)
- java多线程系列----------- 基本的线程机制(二)
- C++多线程系列(二)线程互斥
- 多线程系列(二)---多个线程多个锁
- Java多线程系列(二)—线程安全
- 多线程学习系列:(三)线程同步基础上
- 多线程学习系列:(四)线程同步基础下
- 多线程学习系列:(五)线程池基础上
- 多线程学习系列:(六)线程池基础下
- 阅读 springdm in action 笔记--Spring DM extenders
- mysql rename命令
- 使用apt-mirror构建本地Debian镜像
- 多线程学习系列:(一)前言
- [转]见与不见
- 多线程学习系列:(二)线程基本知识
- 基于反相代理的Web缓存加速——可缓存的CMS系统设计
- 数据库技巧——MySQL十大优化技巧
- 多线程学习系列:(三)线程同步基础上
- ERROR: the user data image is used by another emulator. aborting错误!
- VMware1.0.6 + CentOS5.5 + Oracle10g RAC安装成功
- 多线程学习系列:(四)线程同步基础下
- Qt 字体大小的计算
- 用DirectShow转换图片格式