zoukankan      html  css  js  c++  java
  • 多线程基础二(线程状态 及前后台进程)

     1. 暂停线程

      Thread.Sleep(1000);

    2.等待线程

    thread.Join();

    这两个的状态都是 WaitSleepJoin

    3.终止线程

     thread.Abort();

    这个状态是 AbortRequested ==》 Stopped

    4.检查线程状态

    t1.ThreadState

    [ComVisible(true)]
        [Flags]
        public enum ThreadState
        {
            Running = 0,  //2. thread.start()
            StopRequested = 1,
            SuspendRequested = 2,
            Background = 4,
            Unstarted = 8,  // 1. Thread thread = new Thread(Common.PrintNumbersWithStatus);
            Stopped = 16,  //4. 当线程指向的方法执行完时候
            WaitSleepJoin = 32, //3.  Thread.Sleep or thread.join()
            Suspended = 64,
            AbortRequested = 128, // 4.thread.Abort();
        Aborted = 256 //5. thread.Abort(); }

    前台与后台线程

    默认情况下,显式创建的线程都是前台线程(foreground threads)。只要有一个前台线程在运行,程序就可以保持存活,而后台线程(background threads)并不能保持程序存活。当一个程序中所有前台线程停止运行时,仍在运行的所有后台线程会被强制终止。

    后台线程可以使用 join 来等待结束

  • 相关阅读:
    JQuery学习笔记(1)——选择器
    Web前端——表单提交和Js添加选项
    Web前端——JavaScript练习
    Web前端——css
    Web前端——JavaScript笔记
    sirius的学习笔记(2)
    sirius的python学习笔记(1)
    Get和Post的请求
    IIS的配置
    一般处理程序aspx
  • 原文地址:https://www.cnblogs.com/haigui-zx/p/14944196.html
Copyright © 2011-2022 走看看