我已經寫了一個代碼,它將從主類中啓動固定的線程數。下面的功能只是它的一部分。所有線程都會採用這種方法。我給了線程名稱像USER1,USER2等面對多線程中的問題
我的要求是,在這個方法後,驅動程序= WebDriver .......語句所有我的線程應該等到他們都得到驅動程序。我知道我們可以加入。但無法在這裏實施。有人可以指導
private void testSuitLogin(String driverType){
try{
System.out.println(Thread.currentThread().getName()+" Start Time "+System.currentTimeMillis());
driver = WebDriverFactory.getDriver(driverType);
System.out.println(Thread.currentThread().getName()+" End Time "+System.currentTimeMillis());
homePage();
googleSignIn();
driver.quit();
}
catch(Exception e){
if(driver==null)
{
totalNumberOfUsers--;
return ;
}
}
}
那麼,你必須阻止,直到發生某些事件?爲什麼不使用某種類型的鎖?看看[鎖定對象](https://docs.oracle.com/javase/tutorial/essential/concurrency/newlocks.html) – MadProgrammer
我認爲你需要另一個類來監督你的線程。他們應該註冊自己到這個類(簽入),然後結賬並用Thread.sleep()睡着。只要所有的線程都結賬,通知他們所有的人將其喚醒。 –