java - 创建一个接受 Runnable 但包含更好控制的类
问题描述
我想创建这样的结构化代码:
EventWrapper.newWrapper().
ifThen(isSunday(),
() -> announceSunday()).
pauseFor(Duration.ofSeconds(10)).
addAsyn(() -> System.out.println("Asynch System out")),
add(() -> System.out.println("Sync System out")).execute();
我想要多个函数,例如 pauseFor 暂停此 Wrapper 的执行,addAsyn 执行 runnable 但使用线程池,add 执行 runnable 但其他函数等到 runnable 的内容被执行以及 ifThen 接受布尔条件如果为真,则执行给定的可运行文件。
到目前为止,我的代码基于我在这里所做的前一篇文章(非常感谢)如下:
public class EventWrapper
{
private final List<Runnable> _wrappers = new ArrayList<>();
public EventWrapper add(final Runnable runnable)
{
_wrappers.add(runnable);
return this;
}
public void execute()
{
_wrappers.forEach(Runnable::run);
}
public static EventWrapper newWrapper()
{
return new EventWrapper();
}
}
关于如何在此类中添加这些功能并在执行时能够控制我提到的方式,是否有任何想法?非常感谢。
解决方案
推荐阅读
- bokeh - 散景垂直对齐控件
- php - 当我运行函数生成统计信息时,Laravel 显示错误 42000
- acumatica - 如何使用 DAC 扩展的用户设置值来启用/禁用 Base DAC 的 UI 字段?
- c# - 被取消的任务
- python - Python:如何在 BeautiflSoup 中从这样的标签中获取文本
- javascript - d3 未显示添加的 html 元素
- ruby - Ruby Aws::Route53::Client 过滤没有标签的对象
- vuejs2 - Vue.js 路由不能做
- salt-stack - 为多主服务器提供 minion 时出现 Salt Error
- aframe - 当我佩戴 VR 耳机时,我的 A-Frame 场景在相机后面渲染