zoukankan      html  css  js  c++  java
  • C#_基础_多线程(十九)

    单线程 :只有一个线程(主线程),弊端,一个时间只能调用一个函数方法,如果正在打印时候去关闭程序,会关闭不了,出现假死现象

      线程分为前台线程和后台线程
    默认创建的都是前台线程
     前台线程: 只有多有的前台线程都关闭了才能完成程序的关闭
     后台线程: 只要所有的前台线程结束,后台线程自动结束
     解析:创建的前台线程,在主线程关闭后,仍然可以继续执行,后台线程随着前台的关闭而关闭

    1.多线程,创建一个线程

     1   static void Main(string[] args)
     2         {
     3             //创建一个线程,目的是执行Test()方法
     4             Thread th = new Thread(Test);
     5             //start(); 标记这个线程准备就绪了,可以随时被执行了。
     7             th.IsBackground = true; //设置为后台线程
     8           //  Control.InvokeRequired
     9             th.Start();
    10 
    11             Console.ReadKey();
    12         }
    13 
    14 
    15         public static void Test()
    16         {
    17            
    18         }

    设置线程是前台线程,后台线程,默认是前台线程
    设置为true 是后台线程,FALSE是前台线程
         th.IsBackground = true; //设置为后台线程

    终止线程,
                th.Abort();
                如果程序终止后不可以再开启,会抛出异常,线程可能已经开启或被终止
                th.Abort();
                th.Start();

    如果新线程,要访问主线程的资源,在.Net下不允许跨线程的访问
                解决:取消跨线程的访问

      休眠 1000毫秒,休眠的是所在的当前线程
                    Thread.Sleep(1000);

     //获得当前线程的对象
                Thread t =  Thread.CurrentThread;

  • 相关阅读:
    centos 修改语言、时区
    去除 ufeff
    Docker介绍及使用
    消息队列
    数据结构与算法
    Haystack
    Python面向对象之魔术方法
    关于Redis处理高并发
    Redis
    RESTful规范
  • 原文地址:https://www.cnblogs.com/CeasarH/p/9120953.html
Copyright © 2011-2022 走看看