java - 在企业系统中使用异步方法

标签 java multithreading spring asynchronous

我已经为金融机构开发超大型企业系统已有相当一段时间了。我只注意到异步方法的使用很少(坦白说可能有 2 或 3 个)。可以说我有 3 种方法:doSomething1() , doSomething2() , doSomething3() ;

// X = {1,2,3}
SomeResult doSomethingX() {
    // execution of this method takes 5-15 secs
}

xxx foo() {
    SomeResult result1 = doSomething1();
    SomeResult result2 = doSomething2();
    SomeResult result3 = doSomething3();
    // some code
}

因此 foo 的执行大约需要3x(5-15)sec = ~30sec

类似foo的方法还有很多在我们的系统中,我想知道为什么没有任何异步方法?不只是添加 @AsyncdoSomethings()方法使它更快?或者只是“我们不在企业系统中明确使用线程”

最佳答案

始终值得记住的是,在您加入项目之前编写的代码可能是由具有更多经验的人编写的,或者必须解决您未见过的独特问题,并且在尝试更聪明的方法之后必须做一些事情你觉得很奇怪。也许您缺少某些状态,如果异步完成,这些状态就不会到位。

但是,当然,也可能是这样的情况:

a)开发人员不知道它/使用它

b)无论出于何种原因,它当时不可用。

企业当然不会对异步代码、多线程或任何其他你可能感兴趣的东西过敏。

关于java - 在企业系统中使用异步方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34934879/

相关文章:

android - 线程和媒体播放器问题,带声音的计时器

Spring 3.0 MVC MVC :view-controller tag

spring - 如何在查询数据库时为 JPA 实体中的列生成值?

java - 令人困惑的java递归

java - 使用spring初始化java枚举中的字段

java - 如果在java中使用MAP,如何发送JSON @RequestBody?

multithreading - 为什么事先调用readdir时Perl线程不起作用?

c++ - 在 ACE 和 Boost 之间进行选择以进行学习

spring - 方法中的@Value 注解有什么作用?

java - android 文本不复制到剪贴板