joe*_*han -1 c c# c++ java goto
在许多编程语言中,已经提出了很多问题来停止执行thread
.c/c++
goto
仍然使用.In ,其中Java
,goto没有使用,但仍然是保留的; stop(),stop(Throwable)和suspend(),destroy()和resume(),它们旨在提供启动和停止线程的基本功能,已经过折旧.我们可以使用goto
简单地移出一个线程吗?
像这样的Somethig:
//Thread block
{...
if(some condition)
goto out;
.....
...
}//thread block over
out:
// I am out!!
}
Run Code Online (Sandbox Code Playgroud)
我知道使用goto
是一种非常糟糕的做法,但它仍然可以像这样使用吗?
更新:
要么:
//Thread block
{...
if(some condition)
goto out;
.....
...
out:
// I am out!!
}//thread block over
Run Code Online (Sandbox Code Playgroud)
从评论中,这是解决方案吗?
UPDATE2:
好吧,我得到了混合的答案.有些是,有些没有.我不使用c/c ++,否则可以实现并看到自己.
这不起作用.
goto
用另一种方法.如果该goto
位置使用相同的方法,则执行将仅在执行该goto
语句的线程中的新位置继续.
你可以做的是,转到线程方法的末尾 - 如果当前代码在该方法中.这不会结束线程,但是goto
会在线程方法结束之前移动程序流,这将导致线程方法完成执行并因此结束线程.
这与简单地return
从线程方法中产生的效果相同.