gpt4 book ai didi

java - 确保 CompletableFuture 回调中的代码在之后执行

转载 作者:行者123 更新时间:2023-12-02 10:17:39 25 4
gpt4 key购买 nike

假设我有这个:

public void foo(){
CompletableFuture.delayedExecutor(1, TimeUnit.MILLISECONDS).execute(() -> {
doSomethingA();
});
doSomethingB();
}

是否有任何保证 doSomethingB();总是在 doSomethingA(); 之前运行有些东西告诉我,通过线程抢占,doSomethingA() 有可能(尽管不太可能)首先运行?

最佳答案

不,不能保证在具有多个处理器的计算机上,doSomethingB()总是先于 doSomethingA() 执行。尽管 99.999999999% 的情况下这种情况都会发生。

我注意到您的一些评论中提到了“事件循环”。在 Java 中,没有像 Node 和 Javascript 那样的原生事件循环概念。如果您有 4 个线程、四个处理器,并且您提交四个任务,则所有四个任务都将并行运行。

关于java - 确保 CompletableFuture 回调中的代码在之后执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54560757/

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