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());
    }


  • 相关阅读:
    浅谈流形学习
    变分例子
    变分
    基于深度学习的目标检测技术演进:R-CNN、Fast R-CNN,Faster R-CNN
    模拟退火
    粒子群算法
    JavaEE Tutorials (24)
    洛谷 P2026 求一次函数解析式
    洛谷 P1598 垂直柱状图
    洛谷 P1781 宇宙总统
  • 原文地址:https://www.cnblogs.com/wangsaiming/p/2029469.html
Copyright © 2011-2022 走看看