【发布时间】:2018-08-27 08:37:40
【问题描述】:
假设你在MyClass中有如下方法
public class MyClas{
public void startWork(){
YourClass.doSomeWork();
//more things to do in this method
}
}
YourClass 看起来像这样:
public class YourClass{
public static void doSomeWork(){
// a lot of work to do here
// maybe even invoke other methods in some other classes
}
}
现在我想知道的是,当代码YourClass.doSomeWork(); 在startWork() 方法中执行时,脚本会以相同的方法继续到下一行还是等到YourClass 中的doSomeWork() 完成执行?
请注意,doSomeWork() 不会返回任何内容。
【问题讨论】:
-
它将等待。你做了一些研究吗?你试过执行你的代码吗?
-
在单个执行线程中按顺序执行。
-
就像把被调用方法的代码直接放到调用方法中一样。所以是的,它肯定会在继续调用方法之前完全执行。多线程时会出现不同的行为。
-
非常感谢大家的投入。 @BackSlash 是的,我做了一些研究,但找不到像我刚到这里的那样明确的答案。我确实尝试执行代码,但它执行得非常快,我无法弄清楚它是否在等待。
-
我很欣赏快速回归,虽然我同意,这是非常基本的东西;-)