zoukankan      html  css  js  c++  java
  • 线程

    1.以前的windows16位系统系统只有一个执行流,当有一个程序在占用的情况下其他程序会停止执行。这就是相当于执行了一个打印操作,然后系统就不能用了。必须要等待打印完成才能使用

    2.后台有了WIndowsNT系统引入了进程的概念,程序和程序之间是隔离的,当一个程序死掉的时候不会影响其他程序

    引入了线程的概念,进程(程序)执行不在相互影响

    线程相当于物理CPU进行虚拟化,形成所在进程的专用逻辑CPU

    线程上下文的切换

        windos任何时刻只将一个线程分配给cpu。那个线程能运行一个‘时间片’的长度。时间片到期,windos就将上下文切换到另一个线程。内次上下文切换都要求windos执行一下操作:

          将cpu寄存器的值保存到当前正在运行的线程的内核对象的一个上下文结构中(其实就是将上一个线程的值保存下来)

          从现有线程集合中选出一个线程供调度

          将所选线程上下文结构中的值加载到cpu寄存器中

      说明:

        windos上下文切换到另一个线程时,会产生一定的性能损失

        当一个时间片结束时,如果windows确定再次调度同一个线程(而不是切换到另一个线程),将不会执行上下文切换

        当前程要进行等待I/O操作时(键盘,鼠标,文件,网络等),该线程在任何cpu上都不在调度,因此不会消耗cpu时间

     

        windows线程和clr线程是相等的

    前台线程和后台线程

        一个进程中所有的前台线程停止运行时,CLR强制终止在运行的任何后台线程

        应用程序主线程通过Thread对象显示创建的任何线程默认都是前台线程

        线程池中的线程默认都是后台线程

        前台线程和后台线程可以相互转换

     

     编码:

        

     

     

      

        

        

  • 相关阅读:
    x01.Weiqi.6: 立体棋子
    x01.Game.MapEditor: 地图编辑器
    SQL Server插入中文出现乱码??的解决办法
    Cachecontrol使用:header('Cachecontrol:private')
    验证身份证号码Javascript代码
    .Net GDI+缩放绘图
    Access(JETSQL)问题集锦
    Android开发中Google谷歌地图坐标系怎么转Baidu百度地图坐标系
    21、桥接模式(Bridge模式)详解
    22、装饰模式(装饰设计模式)详解
  • 原文地址:https://www.cnblogs.com/-alvin/p/13502621.html
Copyright © 2011-2022 走看看