gpt4 book ai didi

java - 如何使用 while() 循环在 vertx 上运行无限循环

转载 作者:太空宇宙 更新时间:2023-11-04 10:52:05 25 4
gpt4 key购买 nike

我想在 diff 线程的 verx 上运行无限循环。应该是这样的:

vertx.executeBlocking(future -> {
while(true){
}
//some logic (e.g waiting on blocking-code)
}

事情是,在 vertx 上,即使对于executeBlocking 线程,您也有可以增加的全局超时。但我想为此执行设置非超时警告,因为它将永远运行

  1. 我能用 vertx 实现我的目的吗?
  2. 如果情况 1 为真。如何从超时警告中排除此特定的阻塞执行

最佳答案

你不知道。

如果您有触发处理的条件,则处理会在该点发生,而不是在无限循环内。

示例:

while ((event = eventQueue.take()) != null) {
final Vertx target = event.target;
executor.submit(() -> {
doProcessing(target);
});
}

造成这种情况的主要原因是,即使处于阻塞状态的线程也会消耗资源。如果有 1000 个线程等待事件,那么系统会在线程调度上浪费大量时间。这就是为什么所有现代 IO 处理都是非阻塞的,其方式与上面的代码类似。

关于java - 如何使用 while() 循环在 vertx 上运行无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47709391/

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