为什么实时系统会并发?

时间:2012-04-28 19:12:12

标签: java multithreading time concurrency real-time

是因为对实时系统施加的时序约束意味着线程或任务应该根据顺序执行的程序可能无法保证由于其任务负载而实现时序的时序来控制自己的执行?

问候,谢谢。

3 个答案:

答案 0 :(得分:5)

您可以使用一个线程编写实时系统,因此它不必是并发的。

使用线程可以帮助实时系统,但是他们可以引入自己的问题。

也许您将实时与并发相关联,因为您必须更加了解每个线程正在做什么。

答案 1 :(得分:1)

我喜欢彼得的回答,但我想详细说明。

作为实时系统一部分的外源物理设备 - 即实时软件和计算机与之交互的部分 - 可能具有从无到有的任何数量的并发性。实时系统本身并不是并发的,但如果不是大多数实时系统在某种程度上也是如此。

无论外源部分具有多少并发性,实时软件通常都可以从无(所谓的“主线程”Peter提到)到任意数量的可调度线程/任务/中具有任何数量的并发性。等等视情况而定。

正如彼得指出的那样,软件中的并发性越多,并发控制就越复杂和困难。这通常是正确的,并且由于时间限制而在实时软件中加剧。一些声誉良好的软件科学家声称人类思维不适合管理任何事物的高度异步并发。

爱德华·李是最直言不讳的并发线索批评者之一,正如本技术报告“麻烦线程”www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf中明确记载的那样。

答案 2 :(得分:-1)

并发<>实时,正如其他人发布的那样。

由于良好的IO性能,实时系统倾向于使用premptive调度程序。协作或不存在的调度仅适用于延迟和整体IO性能不重要的应用 - 将它们排除在许多/大多数“实时”任务之外。

是否实际使用'真实'并发,即。多核,是另一回事。