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

标签 java functional-programming thread-safety pure-function

private Function<ServiceBean, Mono<SomeResponse>> someFunction(SomeRequest someRequest) {
    return serviceBean -> serviceBean.doSomething(someRequest)
            .next();
}

以上方法安全吗?

如果我创建(比如说 10 个)具有不同类型的 SomeRequests 的线程,并同时调用此方法,可以安全地假设存在线程安全吗?

最佳答案

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

关于java - 我们可以以线程安全的方式从方法返回 Function 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57924633/

相关文章:

Java速度虚拟机文件#set使用 boolean 变量

javascript - 当普通排序工作时,Lodash 与 sortBy 的链接会产生错误

r - 有没有办法在 purrr::map 中自动传播 NULL?

list - 方案流和循环列表

java - 安卓工作室 : E/AndroidLogcatService Error on only one device

Java 文件从一台服务器复制到另一台服务器

c# - 非阻塞键/值存储

multithreading - 从多个线程访问公共(public)变量/对象会在 Delphi 中产生异常吗?

java - 使用 MyFaces Tomahawk + ​​JSF 2.0 上传文件

Java 异步 MySQL 查询