当前位置: 首页 > news >正文

17、高级线程编程中的实时调度

高级线程编程中的实时调度

1. 实时编程概述

曾经,实时编程被视为一种神秘而罕见的技艺。实时程序员所从事的工作往往处于编程主流之外,例如控制核反应堆或飞机导航系统。不过,POSIX.1b 实时扩展将实时定义为“操作系统在有界响应时间内提供所需服务水平的能力”,这一概念同样适用于应用程序或库。

“有界”响应时间并不一定意味着“快速”响应,而是“可预测”的响应。必须有一种方法来定义一系列操作保证完成的时间跨度。像控制核反应堆的系统,其响应要求比大多数程序更为严格,未能满足这些要求的后果也更为严重。但实际上,很多代码都需要在“有界响应时间”内提供“所需服务水平”,实时编程意味着软件要在现实世界中发挥作用。

实时编程涵盖范围广泛,通常可分为两类:
-硬实时:这是大多数人所熟知的传统类型。例如,若燃料棒调整延迟一微秒核反应堆就会失控,或者导航系统对风切变的响应延迟半秒飞机就会坠毁,这就是硬实时。硬实时的要求极为苛刻,因为所需服务水平和有界响应时间由物理规律等不可改变的因素决定。
-软实时:意味着大部分时间需要满足调度要求,但未能按时完成的后果并不严重。许多与人类交互的系统应按照软实时原则设计。虽然人类的反应在计算机领域相对较慢,但对响应时间很敏感。如果用户在屏幕重绘时等待太久才能进行下一次鼠标点击,就会感到厌烦。大多数人期望响应至少是可预测的,即便不能很快。

线程在各类实时编程中都很有用,因为将操作分离后,编写可预测响应的代码会容易得多。例如,“用户输入函数”无需等待排序操作或屏幕更新操作,因为它可以独立执行。然而,要实现可预测性,仅将操作分离到不同线程是不够的,还需

http://www.cnnetsun.cn/news/37568.html

相关文章:

  • 20、POSIX 线程编程中的关键函数与机制解析
  • 如何快速提升API文档质量:5个自动化检查工具对比
  • 道路缺陷检测-道路病害-YOLO模型-毕业设计
  • 9、深入解析 SQL 注入漏洞:原理、案例与防范
  • GOCAD三维地质建模
  • 2025 年网络安全学习路线:从零基础到实战大神,避开 90% 的坑(非常详细,附工具包以及学习资源包)
  • Reachability隐私合规完全指南:iOS 17+一键配置解决方案
  • 初等数论终极指南:密码学必备的5个核心数学原理
  • 中文论文格式模板使用指南
  • 视觉AI提示词设计:从困惑到精通的实战指南
  • wangEditor导入微信公众号内容自动排版CMS
  • 5个步骤:Open GApps完整安装指南,快速定制你的Android系统
  • 软件测试(2):白盒测试
  • ComfyUI与Auto1111 WebUI对比:谁更适合你的项目?
  • 终极指南:VQ-Diffusion高效图像生成模型完全解析
  • 8、音频与视频的奇妙玩法
  • 从新手到技术专家:软件开发知识的系统化学习路径
  • 4、树莓派音频使用全攻略
  • 初解神经网络优化算法
  • Linux shell 进阶教程:单引号会禁止变量展开
  • 如何让AI工作流真正理解你的业务场景?
  • 如何快速安装Sionna:面向新手的完整配置教程
  • SketchUp STL插件实战手册:从建模到3D打印的完整流程
  • 零基础玩转AI音乐风格识别:Magenta实战指南
  • 零基础玩转智能配色:Color Thief色彩提取实战指南
  • 64K上下文新标杆:LongAlign-13B-64k如何重塑长文本处理范式
  • 仓颉编程语言完整入门指南:从零开始快速上手
  • 37、KDE 常用小部件介绍
  • 智能决策引擎:制造业流程优化的AI革命
  • Python性能测试终极指南:pyperf模块完整教程