Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么实时系统是并发的?_Java_Multithreading_Time_Concurrency_Real Time - Fatal编程技术网

Java 为什么实时系统是并发的?

Java 为什么实时系统是并发的?,java,multithreading,time,concurrency,real-time,Java,Multithreading,Time,Concurrency,Real Time,是因为实时系统上施加的定时约束意味着线程或任务应该基于定时控制自己的执行,而顺序执行的程序可能无法保证由于其任务负载而实现定时 您好,谢谢。您可以用一个线程编写一个实时系统,这样它就不必是并发的 在实时系统中使用线程可以有所帮助,但它们也会带来自身的问题 也许您将实时性与并发性联系起来,因为您必须更加了解每个线程在做什么。您可以使用一个线程编写实时系统,这样它就不必是并发的 在实时系统中使用线程可以有所帮助,但它们也会带来自身的问题 也许您将实时性与并发性联系起来是因为您必须更加了解每个线程在做

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


您好,谢谢。

您可以用一个线程编写一个实时系统,这样它就不必是并发的

在实时系统中使用线程可以有所帮助,但它们也会带来自身的问题


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

您可以使用一个线程编写实时系统,这样它就不必是并发的

在实时系统中使用线程可以有所帮助,但它们也会带来自身的问题

也许您将实时性与并发性联系起来是因为您必须更加了解每个线程在做什么。

ConcurrentReal-time,正如其他人所说

由于具有良好的IO性能,实时系统倾向于使用前置调度器。协作式或不存在式调度仅适用于延迟和总体IO性能不重要的应用程序-排除了许多/大多数“实时”任务的协作式或不存在式调度

是否真正使用了“真正的”并发,即多核,则是另一回事。

ConcurrentReal-time,正如其他人所说

由于具有良好的IO性能,实时系统倾向于使用前置调度器。协作式或不存在式调度仅适用于延迟和总体IO性能不重要的应用程序-排除了许多/大多数“实时”任务的协作式或不存在式调度


“真正的”并发是否被正确使用,即多核,则是另一回事。

我喜欢Peter的答案,但我想详细说明一下

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

不管外生部分具有多少并发性,实时软件通常可以具有任意数量的并发性,从无(Peter提到的所谓“主线程”)到视为适当的任意多个可调度线程/任务等

正如Peter所指出的,软件中的并发越多,并发控制就越复杂和困难。这在一般情况下是正确的,并且在实时软件中由于时间限制而加剧。一些著名的软件科学家声称,人类的思维不适合管理任何事物的高度异步并发


Edward Lee是并发线程最直言不讳的批评者之一,正如本技术报告《线程的麻烦》中所明确记录的那样。

我喜欢Peter的答案,但我想详细说明一下

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

不管外生部分具有多少并发性,实时软件通常可以具有任意数量的并发性,从无(Peter提到的所谓“主线程”)到视为适当的任意多个可调度线程/任务等

正如Peter所指出的,软件中的并发越多,并发控制就越复杂和困难。这在一般情况下是正确的,并且在实时软件中由于时间限制而加剧。一些著名的软件科学家声称,人类的思维不适合管理任何事物的高度异步并发


Edward Lee是并发线程最直言不讳的批评者之一,正如本技术报告“线程的问题”中清楚地记录的那样。

实际上有很多实时系统(我想我们谈论的是硬rt保证?)在小型嵌入式设备上运行,即使多线程的概念也不存在。因此,您的假设一开始就错了:)当系统控制对时间敏感的外部进程并对不可预测的外部输入作出反应时,它不能总是等到完成一项任务后再响应或处理另一项任务。它有时必须同时处理两个或多个任务。同意@Voo的观点,我曾经使用rt代码,它不使用进程,不使用线程,依赖中断和协作多任务。我认为代码并发。我们今天所说的并发是什么意思?这就是我有点迷茫的地方,我在我的讲座中读到实时系统作为真实世界的模型本质上是并发的。这个短语使人困惑me@MikeHoward这是我在第一次评论中想说的。现实世界不会等待。如果你在看报纸时茶壶沸腾,你可能会在倒水时短暂中断阅读,但你会继续你停止的地方。这就是库普的多重任务。如果你是一个真正的多任务者,你可能会一边倒酒一边看书!!这有点像一个同时运行两个线程的多核cpu。实际上,有很多实时系统(我想我们讨论的是硬rt保证?)都运行在小型嵌入式设备上,而这些设备甚至都不存在多个线程的概念。因此,您的假设一开始就错了:)当系统控制对时间敏感的外部进程并对不可预测的外部输入作出反应时,它不能总是等到完成一项任务后再响应或处理另一项任务。它有时必须同时处理两个或多个任务。同意@Voo的观点,我曾经使用rt代码,它不使用进程,不使用线程,依赖中断和协作多任务。我认为代码并发。你怎么办