返回顶部
首页 > 资讯 > 精选 >C# Windows CE特点之实时性的示例分析
  • 852
分享到

C# Windows CE特点之实时性的示例分析

2023-06-18 00:06:40 852人浏览 八月长安
摘要

这篇文章主要为大家展示了“C# windows CE特点之实时性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C# Windows CE特点之实时性的示例分析”这篇文章吧。C# Win

这篇文章主要为大家展示了“C# windows CE特点之实时性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C# Windows CE特点之实时性的示例分析”这篇文章吧。

C# Windows CE特点之实时性

C# Windows CE的***一条设计目标是要支持实时系统的开发。在嵌入式编程中,实时性就是指在指定时间内完成指定任务的能力,这些任务可能是计算某个值,记录某次输入,或者是向某个外部设备发送一条命令。很多系统要求无论负荷有多么重,系统都应该能够连续可靠地执行这样的一个任务(或者是一些任务)。

从C# Windows CE 3.0开始,C# Windows CE开发团队就加入了一系列特性以支持实时系统的开发。其中包括支持256个线程优先级(C# Windows CE一直都支持多线程编程)和嵌套的中断请求。C# Windows CE对实时性的支持在C# Windows CE PlatfORM Builder的文档中定义如下:

◆保证高优先级线程安排的上限,但仅对所有排队线程中优先级***的线程有效。

◆在执行高优先级中断服务程序(ISR,interrupt service routine)时保证延时的上限。在内核中专门设置了一些空间用于临时关闭中断服务。

◆确保对调度程序的控制,使其能顺利地安排线程。

实时系统可以根据需求分为两种,一种要求硬实时,另一种则要求软实时。软实时需求的系统在没有严重后果的情况下允许出现一些延时,而硬实时需求的系统中则不能出现任何一点延时。

硬实时需求系统的例子如工厂里控制机器手臂动作的系统。有时也许必须移开这个手臂才能让生产线继续向前流动,或者才能让其它的机器进入生产线开展工作,但是如果没有及时移开它,结果可能会导致这个手臂、产品或者部分生产线被破坏。(我们假设这样的事故会使整条生产线停下来,造成大量时间和成本的损失。)

尽管C# Windows CE提供很好的实时性支持,但.net精简框架却不是一个理想的构建实时组件的编程接口。这是因为运行时引擎可能会出现各种时间间隔不等的延时。例如,在使用运行时编译执行(JIT,just-in-time)编译器(本章后面会有介绍)装载代码和将代码编译为本地机器代码时,都会出现延时。

托管代码与非托管代码

.NET精简框架代码有时也可作为托管代码,但对应用程序程序员来说,它最重要的特性是由运行时来管理数据,特别是已清除的数据。尽管代码也可以被托管,但是必须确保其中没有错误的内存指针。本书第3章将重点介绍这个问题。

相反,Windows api代码有时也可作为非托管代码。这是一种以.NET为中心处理问题的方法,尽管我们有时使用如本地代码和Win32代码之类不同的术语来指代它。

C# Windows CE遇到的问题,另外,当垃圾回收器工作的时候也可能出现延时,因为这时所有在托管代码中运行的线程都被冻结了,然而非托管代码则不会。因此,.NET精简框架托管代码可以支持实时线程16,但是多数情况下实时线程是通过调用Win32的DLL在非托管代码中实现的。当然,以上只是一些基本原则,如果是一个很快的CPU,系统负荷也很轻,在托管代码中运行的线程也能提供足够快的响应以满足这个系统实时性支持的要求。对于定时和性能的关系,我们需要“三思而后行”(measure twice and cut once),测量所需性能的次数往往跟错失实时性底限的程度成正比。

以上是“C# Windows CE特点之实时性的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: C# Windows CE特点之实时性的示例分析

本文链接: https://lsjlt.com/news/294641.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C# Windows CE特点之实时性的示例分析
    这篇文章主要为大家展示了“C# Windows CE特点之实时性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C# Windows CE特点之实时性的示例分析”这篇文章吧。C# Win...
    99+
    2023-06-18
  • C# Windows CE特点之兼容性的示例分析
    小编给大家分享一下C# Windows CE特点之兼容性的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!C# Windows CE特点之兼容性的设计思路:...
    99+
    2023-06-17
  • C# Windows CE特点之模块化的示例分析
    小编给大家分享一下C# Windows CE特点之模块化的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!C# Windows CE特点之模块化是什么呢?C# Windows CE是模块化的,这对可配置的操作系统来说...
    99+
    2023-06-17
  • C#中属性和特性的示例分析
    这篇文章主要介绍C#中属性和特性的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先要说的是,可能一些刚接触C#的朋友常常容易把属性(Property)跟特性(Attribute)弄混淆,其实这是两种不同的东...
    99+
    2023-06-17
  • ECMAScript6新特性之let、const的示例分析
    这篇文章将为大家详细讲解有关ECMAScript6新特性之let、const的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。es6中的新特性之“let”。首先,这...
    99+
    2024-04-02
  • JavaScript特性的示例分析
    小编给大家分享一下JavaScript特性的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、逗号运算符, 是用于分隔表...
    99+
    2024-04-02
  • MySQL 8新特性之Invisible Indexes的示例分析
    小编给大家分享一下MySQL 8新特性之Invisible Indexes的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧...
    99+
    2024-04-02
  • ES6新特性之字符串的示例分析
    这篇文章主要介绍了ES6新特性之字符串的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、ES5字符串函数concat: 将两个或多...
    99+
    2024-04-02
  • Ubuntu 9.10与Windows 7特性实例分析
    本篇内容介绍了“Ubuntu 9.10与Windows 7特性实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!以下主要讲对于Ubunt...
    99+
    2023-06-16
  • vue-cli3.0特性的示例分析
    小编给大家分享一下vue-cli3.0特性的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!新建项目# 安装 n...
    99+
    2024-04-02
  • HTML5新特性的示例分析
    小编给大家分享一下HTML5新特性的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   一:新增的功能   更加语义...
    99+
    2024-04-02
  • ECMAScript6新特性的示例分析
    这篇文章将为大家详细讲解有关ECMAScript6新特性的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。箭头函数function() 函数的简写表示法,但它不绑定...
    99+
    2024-04-02
  • ES6新特性之函数扩展的示例分析
    这篇文章主要介绍ES6新特性之函数扩展的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:一、函数参数默认值1. ES6允许为函数的参数设置默认值,即直接写在参数定义的...
    99+
    2024-04-02
  • ES6新特性之类和继承的示例分析
    这篇文章主要介绍了ES6新特性之类和继承的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、类(Class)1.基本语法JavaSc...
    99+
    2024-04-02
  • Css3新特性应用之形状的示例分析
    这篇文章主要为大家展示了“Css3新特性应用之形状的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Css3新特性应用之形状的示例分析”这篇文章吧。一、自...
    99+
    2024-04-02
  • ES6新特性之数组扩充的示例分析
    这篇文章给大家分享的是有关ES6新特性之数组扩充的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:1. Array.from()1) Array.from方法用于...
    99+
    2024-04-02
  • FlexBuilder开发特点的示例分析
    这篇文章主要为大家展示了“FlexBuilder开发特点的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“FlexBuilder开发特点的示例分析”这篇文章吧。FlexBuilder开发特...
    99+
    2023-06-17
  • css3中新特性的示例分析
    这篇文章主要为大家展示了“css3中新特性的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css3中新特性的示例分析”这篇文章吧。css3被拆分成如下的...
    99+
    2024-04-02
  • Vue.js特性Scoped Slots的示例分析
    这篇文章主要介绍Vue.js特性Scoped Slots的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是scoped slotsA scoped slot is a s...
    99+
    2024-04-02
  • JDK-12新特性的示例分析
    这篇文章主要介绍了JDK-12新特性的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。说明目前JDK12已经发布,而且我估计大多数人还在使用JDK8,但是做程序开发的人...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作