我们可以用"goto"关键字来结束一个帖子吗?

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 ++,否则可以实现并看到自己.

Dan*_*rth 7

这不起作用.

  1. 你不能goto用另一种方法.
  2. 线程未绑定到方法,并且一个方法可以由多个线程执行.

如果该goto位置使用相同的方法,则执行将仅在执行该goto语句的线程中的新位置继续.

可以做的是,转到线程方法的末尾 - 如果当前代码在该方法中.这不会结束线程,但是goto会在线程方法结束之前移动程序流,这将导致线程方法完成执行并因此结束线程.
这与简单地return从线程方法中产生的效果相同.