我的代码中有几个入口点,它们在启动时都需要静态属性的值。或者如果需要它可以是一个功能。我坚持的部分是他们将在大约相同的时间调用此函数,我只希望代码执行一次。它是对Web服务的调用,结果将指示所有调用者都需要的状态。那么如何让多个进程等待一个被调用的函数的结果。我不知道如何从代码中的多个位置等待。你能做到吗?
答案 0 :(得分:0)
您可以无限次地await
Task
public static readonly Task<int> MyValue = GetMyValue();
private static async Task<int> GetMyValue()
{
return await GetItFromWherever();
}
。例如:
int myValue = await MyValue;
然后在您需要的时候:
Lazy<T>
所有来电者都会等到它可用,然后它们会在获得后继续。之后,此行将始终同步运行并使用已获取的值。
同时检查AndroidDriver driver = capabilities();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//android.widget.TextView[contains(@text,'Done')]")));
driver.findElementByXPath("//android.widget.TextView[text@='Done']");
driver.findElementByXPath("//android.widget.TextView[text@='Got it']");
driver.findElementByAndroidUIAutomator("new UiScrollable(new USelector()).scrollIntoView(text(\"World Music\"));");
driver.findElementByXPath("//android.widget.TextView[text@='SKIP']");
(link)。