zoukankan      html  css  js  c++  java
  • Thread记录

    项目用到了线程 所以写出来留作以后复习
    线程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         }

    运行结果

  • 相关阅读:
    抓包来看ftp状态码
    socket基础篇
    密码复杂度检查函数
    time模块
    读取日志文件,搜索关键字,打印关键字前5行。yield、deque实例
    装饰器--函数
    yield用法
    字符编码
    pycharm + git实现两台电脑代码同步
    PyCharm常见用法
  • 原文地址:https://www.cnblogs.com/zhousiyu/p/3236752.html
Copyright © 2011-2022 走看看