gpt4 book ai didi

java - ExecutorService 的 invokeAll() 会同时运行任务,或者完全取决于硬件(运行执行程序服务的地方)和网络

转载 作者:行者123 更新时间:2023-11-30 06:50:53 25 4
gpt4 key购买 nike

我有 n 个独立任务,但我的要求是所有独立任务必须同时执行(我想以秒精度执行意味着所有任务必须在同一秒调用,例如 11: 55:05 在上午 11 点 55 分 5 秒调用所有任务。每个任务都与 ngp(硬件盒)交互并获取在墙上渲染的图像的一部分(这里假设每个 ngp 正在生成图像的一部分),因此我需要与 ngp 交互的每个任务同时发送调用通过网络在 ngp 上的时间。

当我invokeAll()时,我调用所有任务(每个任务都与其专用的ngp交互并获取图像的一部分)。 ExecutorServiceinvokeAll() 将尝试同时运行任务,或者硬件上最多可以有多少毫秒的延迟((执行程序服务正在运行的地方))对于每个任务从其调用的第二个开始?这完全取决于硬件((运行执行程序服务的地方)如CPU核心等)和网络吗?

我只是想掌握内部下划线的提示。

最佳答案

Do invokeAll() of ExecutorService will try to run the task at the same time or maximum how many milliseconds delay can be there on hardware((where executor service is running)) for each task from its invoked second?

没有。他们不能同时运行。会有毫秒级的延迟。这也取决于您的线程池大小。即使您创建的线程多于任务数量,也不能保证使用所有线程来执行这些任务。

Is this totally depend on hardware((where executor service is running)like CPU cores etc) and network?

这取决于 cpu 核心数量、线程池大小、任务队列大小和 ThreadScheduler(特定于操作系统)。您无法控制任务执行的时间。

关于java - ExecutorService 的 invokeAll() 会同时运行任务,或者完全取决于硬件(运行执行程序服务的地方)和网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42802175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com