猿问

我们可以以线程安全的方式从方法返回 Function 吗?

private Function<ServiceBean, Mono<SomeResponse>> someFunction(SomeRequest someRequest) {

    return serviceBean -> serviceBean.doSomething(someRequest)

            .next();

}

上述方法安全吗?


如果我使用不同类型的SomeRequest创建 10 个线程并同时调用此方法,可以安全地假设存在线程安全吗?


慕哥6287543
浏览 84回答 1
1回答

繁花不似锦

是的,这是线程安全的。但每次调用 someFunction(..) 时,它都会创建一个新的 lambda。尽管 lamda 是轻量级对象,但创建这样的函数并不是一个好主意。最好在类级别声明 BiFunction。
随时随地看视频慕课网APP

相关分类

Java
我要回答