• 线程


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

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

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

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

    线程上下文的切换

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

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

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

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

      说明:

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

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

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

     

        windows线程和clr线程是相等的

    前台线程和后台线程

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

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

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

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

     

     编码:

        

     

     

      

        

        

  • 相关阅读:
    iOS自动化编译
    PlistBuddy
    用PlistBuddy修改Plist文件
    ios app 开发中ipa重新签名步骤介绍
    iOS 开发 Framework
    线程同步--线程间通信
    Linux 下 Redis 安装详解
    服务器响应头隐藏X-power-by
    git 初始化
    删除文件夹里的 .svn,
  • 原文地址:https://www.cnblogs.com/-alvin/p/13502621.html
Copyright © 2020-2023  润新知