java - 将参数传递给 ScheduleWithFixedDelay 中的运行函数

标签 java multithreading executorservice

使用 executor.scheduleWithFixedDelay 调用时如何在 run 方法中传递函数

例如。

IntStream.range(0, 4)
.forEach(
    i -> executor.scheduleWithFixedDelay(this::runOnce, 0, 5000, TimeUnit.MILLISECONDS));

那么,在这里我如何将参数传递给 runOnce。例如。如果我想发送我?

最佳答案

无论 runOnce 返回什么,您都可以更改对 lambda 的方法引用并传入 i 作为参数:

IntStream.range(0, 4).forEach(i -> { 
    executor.scheduleWithFixedDelay(() -> runOnce(i), 0, 5000, TimeUnit.MILLISECONDS);
});

关于java - 将参数传递给 ScheduleWithFixedDelay 中的运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54098944/

相关文章:

java - 如何在 Eclipse IDE 中打开一个类型的所有子类?

java - 具有 Runnable 和结果的 FutureTask

c# - 如何让线程同时访问资源,除非调用主操作?

c# - 线程池为什么要这样管理线程呢?

java - 如何在用户指定的时间内运行线程?

java - 抛出 ExecutionException 但没有原因

java - 无法将 JavaScript 和 CSS 文件从资源加载到 WebView 中的 html 中

java - 如果带有 getConstructor() 的内部类如何创建实例

java - 如何并行处理文件的行?

java - Spring-Boot Thymeleaf 以 html 形式加载图像,但列表不显示