Java 我可以在CompletableFuture runAsync中进行数据库调用吗?
我有一个用例,需要进行数据库调用以检索Java 我可以在CompletableFuture runAsync中进行数据库调用吗?,java,completable-future,Java,Completable Future,我有一个用例,需要进行数据库调用以检索runAsync()中的一些数据。我有以下方法: return CompletableFuture.runAsync(() -> { // Line 1 // Line 2 - fetch from database // Line 3 - use the retrieved value to set field on an object }) 我的问题是-是否保证第3行按顺序在第2行之后执行?
runAsync()
中的一些数据。我有以下方法:
return CompletableFuture.runAsync(() -> {
// Line 1
// Line 2 - fetch from database
// Line 3 - use the retrieved value to set field on an object
})
我的问题是-是否保证第3行按顺序在第2行之后执行?有什么需要注意的地方吗?可运行的
中的三行将依次执行,1、2、3
runAsync
应用于整个Runnable
,而不是单个行
如果您多次调用runAsync
,您将失去订购保证
您可以使用然后应用
(以及相关的thenXxxx)方法来保持顺序,并对不同的行使用不同的方法。可运行
中的三行将依次执行,1、2、3
runAsync
应用于整个Runnable
,而不是单个行
如果您多次调用runAsync
,您将失去订购保证
您可以使用然后应用
(以及相关的thenXxxx)方法来保持顺序,并对不同的行使用不同的方法