这是一个非常幼稚的问题,如果我使用错误的术语,请原谅我的无知。
如果我有摘要中的一系列说明,
bool methodComplete = false;
methodComplete = doSomeMethod(someParam, etcParam); //long & complex method that returns true
if (methodComplete)
doSomeOtherMethod();
方法doSomeMethod()
将在执行if (methodComplete)
之前完成执行吗?
或者如果我想保证它已经完成,这是异步模式的情况吗?
答案 0 :(得分:2)
语言规范定义了从用户/程序员的角度来看程序的有效行为。因此,是的,您可以假设程序的行为如下:
doSomeMethod
methodComplete
也就是说,某些优化可能导致代码提前执行,请参见Speculative execution。
答案 1 :(得分:1)
在评估
doSomeMethod()
之前,方法if (methodComplete)
会完成执行吗?
是 * 。
或者如果我想保证它已经完成,这是异步模式的情况吗?
仅在进行并行计算时。
*) 如果您的代码正在并行执行,则可能为no。