在一個名爲a的線程中,我有2個循環,它們都必須在標誌爲false時停止。 財產以後這樣的:在java中轉換的替代方法
boolean flag = true;
t1 = new Thread(new Runnable()
{
@Override
public void run()
{
while(flag && another_condition)
{
}
Do_something_that_takes_time
while(flag && another_condition)
{
}
});
}
讓我們假設我們進入第一個循環,並在循環運行的變化,以虛假的中間,現在我們將移動到「Do_somthing ......」這可能需要幾秒鐘車道完成,然後我們將移到第二個循環。 與此同時,旗幟的價值可能再次變爲真實!這意味着我將執行第二個循環,我不希望這樣做。所以有可能做這樣的事情:
boolean flag = true;
t1 = new Thread(new Runnable()
{
@Override
public void run()
{
while(another_condition)
{
goto end;
}
Do_something_that_takes_time
while(flag && another_condition)
{
goto end;
}
end:
});
}
我現在寫的代碼當然不起作用,但它只是爲了證明我的意願。 我知道「休息」應該是解決方案,但我不能拿出解決方案。
不要'goto' :( – Maroun
如果你想打破/退出'run'方法就用'回報;!' – Pshemo
@Pshemo感謝張貼作爲一個答案,我會接受它。 –