并发性如何确保Java方法中2条语句的顺序和完整执行
我在Java8中有一个2语句方法。第一条语句的执行时间相对较长,重要的是,无法返回值。第二种说法很快。如何执行和完成第一条语句,并确保第二条语句在第一条语句完成之前不会执行?一段代码片段将不胜感激
public static Object returnMyClassFieldValue() {
setMyClassField(); // long running; can't return a value
return MyClass.valueOfMyField; // very quick
}
# 1 楼答案
这段代码是按顺序执行的,因此首先执行第一条语句,然后在语句完成后执行下一条语句
方法调用
方法完成后返回。因此,不需要额外的代码来按顺序运行代码
如果要在单独的线程中运行该方法,可以使用线程并使用该方法
等待执行或使用线程池
线程:https://docs.oracle.com/javase/tutorial/essential/concurrency/runthread.html
线程池:https://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html
结论: 您无需在第一条语句之后运行第二条语句
如果这回答了你的问题