项目用到了线程 所以写出来留作以后复习
线程Thread类包含在System.Threading命名空间有关线程的操作主要包含在这个类中
现在总结一下Thread的常用方法和属性

Start([参数])//开始运行线程
Sleep(毫秒)//线程休眠
Join()//线程阻塞
Abort()//终止线程 在调用此方法的线程上引发ThreadAbortExcetion
Interrupt() //中断处于WaitSleepJoin线程状态的线程

CurrentContext//获取当前进程的上下文

IsAlive//获取一个值,该值表示当前线程的执行状态。如果此线程已启动并且尚未正常终止或中止,则为true,否则为false.

IsBackground//获取或设置一个值,该值批示某个线程是否为后台线程

IsThreadPoolThread//获取一个值,该值指示线程是否属于托管线程池

ManagedThreadId//获取或设置线程的惟一标识

Name//获取或设置线程的名称。

Priority//获取或设置一个值,该值指示线程的调度优先级
{
Highest优先级别最高,可以将线程安排在任何其他优先级的线程之前。
AboveNormal优先级别次高,可以将线程安排在Highest优先级别之后,在具有Normal优先级别之前。
Normal优先级别普通,可以将线程安排在AboveNormal优先级别之后,在具有BelowNorml优先级别之前。
BelowNormal优先级别次低,可以将线程安排在Normal优先级别之后,在具有Lowest优先级别之前。
Lowest优先级别最低,可以将线程安排在任何其它优先级的线程之后。
}

ThreadState//获取一个值,该值包含当前线程的状态。

现在让我们来看看实际的运行结果

1简单的创建线程

 1    static void Main(string[] args)
2 {
3 Thread th = new Thread(show);
4 th.Name = "demo";
5 //获取线程name
6 string name = th.Name;
7 //获取线程id
8 string id = th.ManagedThreadId.ToString();
9 //获取是否线程池线程
10 bool pool = th.IsThreadPoolThread;
11 //获取是否后台线程
12 bool bg = th.IsBackground;
13 Console.WriteLine("线程id:" +id+" 线程name:" + name+" 后台:" + bg+" 线程池:" + pool);
14 //启动线程
15 th.Start("这是线程调用");
16 //判断是否执行完毕
17 while (th.IsAlive)
18 {
19 Console.Write("*");
20 Thread.Sleep(100);
21 }
22 Console.Read();
23 }
24 //这里的参数只能是object类型的
25 static void show(object o)
26 {
27 //线程休眠1s
28 Thread.Sleep(1000);
29
30 Console.Write(o);
31 }

运行结果

Thread记录的更多相关文章

  1. 《Linux及安全》期中总结&《Linux内核分析》期终总结

    [5216 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] WEEK NINE ...

  2. 20169212《Linux内核原理与分析》第八周作业

    理论 task_struct的结构关系 非常庞大的数据结构,400多行代码.包括对进程链表的管理,控制台,文件系统描述,文件描述符,内存管理描述,信号描述等. 创建一个新进程在内核中的执行过程 for ...

  3. 第六周——分析Linux内核创建一个新进程的过程

    "万子恵 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 &q ...

  4. 分析Linux内核创建一个新进程的过程

    一.原理分析 1.进程的描述 进程控制块PCB——task_struct,为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_struct ...

  5. 关于C#中的线程重启的问题

    首先不管是C#也好,还是java也好,对于已经Abort的线程是无法再次Start的,除非是声明私有变量new一个新的线程,网上也有很多人说可以Suspend挂起线程,然后再Resume继续,但是相信 ...

  6. 《Linux内核分析》第六周 进程的描述与创建

    [刘蔚然 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] WEEK SIX(3 ...

  7. 20135220谈愈敏Blog6_进程的描述和创建

    进程的描述和创建 谈愈敏 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 进程 ...

  8. Linux内核分析——期末总结

    Linux内核学习总结 首先非常感谢网易云课堂这个平台,让我能够在课下学习,课上加强,体会翻转课堂的乐趣.孟宁老师的课程循序渐进,虽然偶尔我学习地不是很透彻,但能够在后续的课程中进一步巩固学习,更加深 ...

  9. 20169210《Linux内核原理与分析》第八周作业

    第一部分:实验 首先还是网易云课堂的学习,这次的课程是进程的创建和进程的描述. linux进程的状态与操作系统原理中的描述的进程状态有些不同,例如就绪状态和运行状态都是TASK_RUNNING. Li ...

  10. Linux如何创建一个新进程

    2016-03-31 张超<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux如何创建一个新进程 ...

随机推荐

  1. MySQL 中一条 sql 的执行过程

    一条 SQL 的执行过程 前言 查询 查询缓存 分析器 优化器 执行器 数据更新 日志模块 redo log (重做日志) binlog (归档日志) undo log (回滚日志) 两阶段提交 为什 ...

  2. 图解B树及C#实现(3)数据的删除

    目录 前言 从叶子节点删除数据 从非叶子节点删除数据 提前扩充只有 t-1 的 Item 的节点:维持 B树 平衡的核心算法 从左兄弟节点借用 Item 从右兄弟节点借用 Item 与左兄弟节点或者右 ...

  3. 基于.NetCore开发博客项目 StarBlog - (26) 集成Swagger接口文档

    前言 这是StarBlog系列在2023年的第一篇更新~ 在之前的文章里,我们已经完成了部分接口的开发,接下来需要使用 curl.Postman 这类工具对这些接口进行测试,但接口一多,每次测试都要一 ...

  4. 移动 WEB 开发布局方式 ---- rem 适配布局

    一.rem 基础 1. rem 单位 em : 相对于父元素的字体大小来说的 <div> <p></p> </div> div { font-size: ...

  5. JavaScript 评测代码运行速度

    一.使用 performance.now() API 在 JavaScript 中,可以使用 performance.now() API 来评测代码的运行速度.该 API 返回当前页面的高精度时间戳, ...

  6. (Crack)SQL转Linq工具的使用——Linqer

    官方下载网站:http://www.sqltolinq.com/ 这是干什么用的         就是Sql语句转Linq  给不熟悉的小白用 再用Linq 转 Lambda      (用到Linq ...

  7. 黏包现象、struct模块、并行与并发

    1.黏包现象 1.黏包现象产生的背景: 1.1 服务端连续执行三次recv 1.2 客户端连续执行三次send 执行上述操作会发现服务端一次性接收到了客户端三条消息,而后面两次什么都没接收到,该现象称 ...

  8. pycharm用不了pip

    环境: win10,安装有python2和python3,主要使用python3,所有环境变量配合的也是python3,之前一直用的好好的,pip可以在命令行和pycharm中正常使用. pychar ...

  9. rem自动计算

    写法一: //rem自动计算 (function (designWidth, maxWidth, viewWidth) { var doc = document, win = window, docE ...

  10. OpenLayers之OGC服务加载

    一.实验内容 手动构造 GetCapabilities.GetMap 的操作链接,并在浏览器里发送HTTP 请求:利用 OpenLayers 进行 WMS 服务加载: 手动构造 GetCapabili ...