Java 8 流 - 超时?

2024-03-30

我想循环一个巨大的数组并执行一组需要很长时间的复杂指令。但是,如果超过 30 秒,我希望它放弃。

ex.

final long start = System.currentTimeMillis();
myDataStructure.stream()
    .while(() -> System.currentTimeMillis() <= start + 30000)
    .forEach(e ->
    {
      ...
    });

我想避免只是说return在 - 的里面forEach如果满足特定条件则调用。


我会为此创建一个自定义池,例如:

ForkJoinPool forkJoinPool = new ForkJoinPool(1);
    try {
        forkJoinPool.submit(() ->
        IntStream.range(1, 1_000_000).filter(x -> x > 2).boxed().collect(Collectors.toList()))
                .get(30, TimeUnit.MILLISECONDS);
    } catch (TimeoutException e) {
        // job not done in your interval
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 8 流 - 超时? 的相关文章

随机推荐

  • 如何将 GUID 作为属性参数?

    我需要某个属性类中的 Guid 属性 如下所示 public class SomeAttribute Attribute private Guid foreignIdentificator public Guid ForeignIdenti
  • 如何将单个字母链接到单词? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在创建一个文字游戏 您必须通过从
  • 如何自定义散点图中的标记颜色和形状? [复制]

    这个问题在这里已经有答案了 我有一个包含 9 列的数据集 7 个特征用于特征选择 其中一个用于分类 我使用 tsne 库进行特征选择 以查看我的数据可以分类多少 tsne 的结果如图所示 但是 我想以另一种方式可视化我的数据 我想根据 f1
  • 为什么 New Date() 总是返回 null?

    如果日期格式是 scope timestamp 2016 12 16 07 02 15 am 我想格式化为16 12 2016 07 02 15 am 我已经尝试过下面的代码并且运行良好 scope originalStamp filter
  • 尝试汇编反汇编器的输出(例如 objdump)[重复]

    这个问题在这里已经有答案了 可能的重复 反汇编 修改然后重新组装 Linux 可执行文件 https stackoverflow com questions 4309771 disassembling modifying and then
  • Liferay:登录 Liferay 的默认方法是什么?

    通过开发 portlet hooks 等 我看到了在 Liferay 中登录的不同方法 是否有我可以使用的默认日志记录方法 Liferay Way 1 如何初始化记录器 2 如何配置日志级别 我看到可以直接在Liferay 控制面板中修改日
  • 监控 Android 手机中的网络活动

    我想监控我的 Android 手机的网络流量 我正在考虑在 Android 上使用 tcpdump 但我不确定是否必须为手机进行交叉编译 另一个问题是 如果我想监控某个应用程序的流量数据 有什么命令可以做到这一点吗 TCPDUMP 是我最喜
  • 当 url 模式是路径时,无法让 Spring MVC 调度程序正常工作

    我有一个网络应用程序 目前我们正在将 Spring MVC 应用到 REST 服务 我们希望我们的休息服务出现在 contextPath rest 但是当我设置这个时 我们得到 在名称为 Spring MVC Dispatcher Serv
  • 如何使用另一个数据库(非默认数据库)中的 auth_user?

    我有两个数据库 默认数据库和示例数据库 我想用auth user来自示例数据库而不是来自默认数据库的表 默认情况下 它是从默认数据库获取的 我想在我的模型文件中指定它 以便我可以在我的视图中访问 这怎么可能 DATABASES defaul
  • 在Python中创建饼图

    我已经创建了饼图 但现在我正在使用一系列单元格 如下所示 chart3 add series name Pie data categories Pivots A 3 A 10 values Pivots F 3 F 10 这为我提供了一个饼
  • 按列对多维关联数组进行排序并保留第一级键

    我有一个看起来像这样的数组 this gt wordswithdata team1 gt points gt 10 players gt team2 gt points gt 23 players gt 我想按照每支球队的得分从高到低对球队
  • 新的 ms botbuilder 直线语音是否适合呼叫中心场景?

    MS 最近推出了直接语音通道以及一些供 Web 前端使用它的示例 但我想知道它是否适合在使用某些 SIP 或 twilio 电话等服务的呼叫中心场景中使用 如果是这样 我想看看一些文档如何使用直线语音 api 并将其连接到某些电话 我已经创
  • Linux 上的 cp + git 基准测试与 Linux 上的基准测试Windows:为什么会有这样的差异?

    我用这个创建了大量文件Python脚本 https gist github com nowox fd62b89b69ea730f3dbd0969e7693fbe我主要用它来对 Git 进行基准测试 结果非常令人惊讶 尤其是 Windows
  • 如何更改 ASP.NET Core API 中的默认控制器和操作?

    我正在创建一个 ASP NET Core API 应用程序 目前 当创建一个新项目时 会有一个名为 Values 的控制器 默认情况下 API 会在您运行时打开它 因此 我删除了该控制器并添加了一个名为 Intro 的新控制器 并在其中添加
  • pyodbc rowcount 只返回 -1

    行计数如何工作 我正在使用 pyodbc 它总是返回 1 return query conn query db param query q params print return query rowcount def query db pa
  • MSBuild 构建前步骤

    我昨天问了关于获得AfterBuild工作并能够通过将其放置在最底部来使其工作Project部分 MSBuild AfterBuild 步骤 https stackoverflow com q 26760052 2642059 我在不同的项
  • 无法在 websphere 8.5 上启动应用程序,但在版本 7 上运行

    我遇到了一个特殊的问题 我有一个包含 ejb jar 的 Ear 应用程序在 websphere 7 上独立运行 我下载了 8 5 试用版 创建了一个垂直集群并在其上安装了应用程序 但该应用程序在 8 5 版本上尚未启动 每次我尝试启动它时
  • 如何删除头部?

    我错误地推送了一些文件 它在主存储库中显示了不同的头 我怎样才能删除那个头 您可以通过编辑您的文件来启用 mq 扩展 hgrc文件 确保存在以下行 extensions mq 之后 您可以 剥离 特定修订版 将其删除 这样您就只有一个头 h
  • 测试依赖于 NUnit 的常用功能

    我有一些初始化代码来使用我的 API 初始化可能会失败 我想在 NUnit 测试中测试它 初始化之后就可以使用API 了 我也在测试 API 但我所有的测试方法都将使用相同的 通用的初始化代码 我理想的情况是这种行为 运行初始化测试 如果
  • Java 8 流 - 超时?

    我想循环一个巨大的数组并执行一组需要很长时间的复杂指令 但是 如果超过 30 秒 我希望它放弃 ex final long start System currentTimeMillis myDataStructure stream whil