我已经为金融机构开发超大型企业系统已有相当一段时间了。我只注意到异步方法的使用很少(坦白说可能有 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
的方法还有很多在我们的系统中,我想知道为什么没有任何异步方法?不只是添加 @Async
至doSomethings()
方法使它更快?或者只是“我们不在企业系统中明确使用线程”
最佳答案
始终值得记住的是,在您加入项目之前编写的代码可能是由具有更多经验的人编写的,或者必须解决您未见过的独特问题,并且在尝试更聪明的方法之后必须做一些事情你觉得很奇怪。也许您缺少某些状态,如果异步完成,这些状态就不会到位。
但是,当然,也可能是这样的情况:
a)开发人员不知道它/使用它
或
b)无论出于何种原因,它当时不可用。
企业当然不会对异步代码、多线程或任何其他你可能感兴趣的东西过敏。
关于java - 在企业系统中使用异步方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34934879/