有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

并发性如何确保Java方法中2条语句的顺序和完整执行

我在Java8中有一个2语句方法。第一条语句的执行时间相对较长,重要的是,无法返回值。第二种说法很快。如何执行和完成第一条语句,并确保第二条语句在第一条语句完成之前不会执行?一段代码片段将不胜感激

public static Object returnMyClassFieldValue() {
  setMyClassField(); // long running; can't return a value
  return MyClass.valueOfMyField; // very quick

}


共 (1) 个答案

  1. # 1 楼答案

    这段代码是按顺序执行的,因此首先执行第一条语句,然后在语句完成后执行下一条语句

    方法调用

    setMyClassField()
    

    方法完成后返回。因此,不需要额外的代码来按顺序运行代码

    如果要在单独的线程中运行该方法,可以使用线程并使用该方法

    join()
    

    等待执行或使用线程池

    线程:https://docs.oracle.com/javase/tutorial/essential/concurrency/runthread.html

    线程池:https://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html

    结论: 您无需在第一条语句之后运行第二条语句

    如果这回答了你的问题