gpt4 book ai didi

Java线程在run()中使用 'return;'

转载 作者:行者123 更新时间:2023-12-01 16:46:08 25 4
gpt4 key购买 nike

我想使用“return;”如果条件为真则结束线程的执行。会发生什么坏事?

这只是一个例子,以便更好地理解。在我的代码中有数十个检查此条件的操作,对我来说看起来非常无序(如果在其他 if...)。

我仍然想执行finally block 。

public class Method implements Runnable{

@Override
public void run() {

try {

if(condition) { return; }

System.out.println("b");

}finally {

System.out.println("a");

}

}

还是 if-else 更好?

public class Method implements Runnable{

@Override
public void run() {

try {

if(!condition) {

System.out.prinln("b");

}else{ //nothing }

}finally {

System.out.println("a");

}

}

最佳答案

What bad can happen?

如果您在 run() 方法中 return; ,不会发生任何不好的事情。

run() 方法的两个版本在功能上是等效的;即他们做同样的事情。

并且 finally 类在这两种情况下都将始终1 被执行。就像这不是 run() 方法一样。

两个版本之间的唯一区别是风格上的。使用认为在实际代码中最具可读性的版本。。 (我认为没有人可以根据这个高度人为的示例为您提供建议。)

<小时/>

1 - ...除非有人/某事杀死 JVM 进程、拔掉电源插头等。

关于Java线程在run()中使用 'return;',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50254953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com