java - 新的 Runnable 和 Runnable 类型的功能接口有什么区别?
问题描述
当我为 a 创建一个Observable
带有 lambdaRunnable
的代码时,代码将按计划执行该run
方法。但是,如果我创建一个新的 Runnable 代码不会执行该计划,什么都不会发生?
获取和使用的代码Runnable
Observable<Usage> usageObservable = Observable.create(emitter -> {
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);
executorService.scheduleAtFixedRate(createNewUsageListener(emitter), 0, 2, TimeUnit.SECONDS);
});
ConnectableObservable<Usage> connectableObservable = usageObservable.share().publish();
connectableObservable.connect();
在计划中工作和执行的代码ScheduledExecutorService
。
private Runnable createNewUsageListener(ObservableEmitter<Usage> emitter) {
return () -> {
List<Usage> usages = getUpdates(rollDice(0, 5));
if (usages != null) {
emitUsageStats(emitter, usages);
}
};
}
这段代码对我来说似乎是相同的代码,但它不会在ScheduledExecutorService
private Runnable createNewUsageListener(ObservableEmitter<Usage> emitter) {
return new Runnable() {
@Override
public void run() {
List<Usage> usages = getUpdates(rollDice(0, 5));
if (usages != null) {
emitUsageStats(emitter, usages);
}
}
};
}
解决方案
推荐阅读
- javascript - Google Analytics:用于将自定义维度(作者)链接到我的网站的 Javascript
- apache-spark - Spark Core 如何在不使用 Rdd.max() 的情况下获取 RDD 函数的最大 n 行
- r - 使用因子列制作更广泛的数据框
- gremlin - 是否可以在 gremlin 中更改顶点之间的边缘
- wso2is - SAM2 Web SSO 配置在包含路径“/sso-saml/add_service_provider.jsp”时未打开 JSPException
- javascript - 如何将属性添加到数组内的现有对象
- sql - 如何在 SQL Server 中提取 unicode concat 字符串
- python - 从 Windows 10 中的环境运行 Jupyter
- node.js - 编译solidity代码时出现ParserError
- django - 在同一页面上提交表单时保持 django 分页和搜索过滤器