zoukankan      html  css  js  c++  java
  • 单线程简介

    单线程顾名思义,就是只有一个线程,默认情况下,系统为应用程序分配一个主线程,该线程执行程序中以Main方法开始和结束的代码。
    线程具有生命周期,它包含3个状态,分别为出生状态、就绪状态和运行状态。

    出生状态就是用户在创建线程时处于的状态,在用户使用该线程实例调用Start方法之前,线程都处于出生状态;当用户调用Start方法后,线程处于就绪状态(又被称为可执行状态);当线程得到系统资源后就进入运行状态。
    一旦线程进入可执行状态,它会在就绪与执行状态下辗转,同时也有可能进入等待、休眠、阻塞或死亡状态。当处于运行状态下的线程调用Thread类中Suspend方法,该线程处于等待状态,进入等待状态的线程必须调用Thread类中的Resume方法才能被唤醒;当线程调用一个Thread类中的Sleep方法时,线程就进入休眠状态;如果一个线程在运行状态下发出输入/输出请求,该线程将进入阻塞状态,在其等待输入/输出结束时,线程进入就绪状态,对于阻塞的线程来说,即使系统资源空闲,线程依然不能回到执行状态;当线程执行完毕时,线程进入死亡状态。
    图1描述了线程的生命周期的各个状态。
     
    图1  线程的生命周期状态图
    例如,新建一个Windows应用程序,程序会在Program.cs文件中自动生成一个Main方法,该方法就是主线程的启动入口点。Main方法代码如下。
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }


  • 相关阅读:
    Educational Codeforces Round 72 (Rated for Div. 2)
    2249: Altruistic Amphibians 01背包
    lh的简单图论
    E. XOR Guessing 交互题 Educational Codeforces Round 71 (Rated for Div. 2)
    C. Helga Hufflepuff's Cup 树形dp 难
    B. Marvolo Gaunt's Ring 前缀后缀
    android学习-IPC机制之ACtivity绑定Service通信
    大数组分时加载算法 timedChunk
    log4j 配置和使用
    fastjson 配置和使用
  • 原文地址:https://www.cnblogs.com/wangsaiming/p/2029469.html
Copyright © 2011-2022 走看看