• 操作系统-线程引入


    引入:

    1、每个服务进程都有自己的独立的地址空间,不能共享信息 ,无并发,阻塞系统调用

    2、从时间和空间开销上讲,进程相关的操作开销大,线程的开销小,并且线程之间相互通信无需调用内核,统一进程内的线程共享内存和文件

    3、性能考虑:一个进程中有多个线程的话可以支持多个任务同时进行

    概念:

    进程中的一个运行实体,是CPU的调度单位,有时将线程称为轻量级进程

    前面讲了,进程的两个基本属性:资源的拥有者,CPU调度单位,线程继承了后者

    属性:

    标识符ID

    状态和状态转换

    不运行时需要保存上下文(即每个线程有上下文环境,他们是各种寄存器)

    自己的栈和栈指针

    共享所在进程的地址空间和资源

    可以创建、撤销另一个线程(程序开始是以一个单线程进程方式运行,即有主线程创建其他线程)

    实现:

    1、用户级线程Unix

    2、核心级线程Windows

    (1) 内核管理所有线程管理,并向应用程序提供API接口

    (2) 内核维护进程和线程上下文

    (3) 线程的切换需要内核支持

    (4)以线程为基础进行调度

    3、混合模型

  • 相关阅读:
    MQTT-SN协议乱翻之实现要点
    MQTT-SN协议乱翻之功能描述
    NUnit单元测试
    NHibernate多对多关联映射的实现
    Windows Phone 8 开发初体验
    ASP.NET MVC概述
    Entity Framework多对多关联映射的实现
    C#通过ODAC访问Oracle12c
    64位Win8系统下安装Oracle12c
    C# 异步下载文件
  • 原文地址:https://www.cnblogs.com/yb38156/p/9747851.html
Copyright © 2020-2023  润新知